小编sxk*_*xkx的帖子

警告:正在导入 Three.js 的多个实例

当我尝试在同一项目中使用@react-three/fiber和时,我收到以下警告。@react-three/drei

在此输入图像描述

重现步骤

npx create-react-app reproduced-warning
cd reproduced-warning
npm install three @react-three/fiber @react-three/drei
Run Code Online (Sandbox Code Playgroud)

我的src/App.js文件如下所示:

import React from 'react';
import { Canvas } from '@react-three/fiber';
import { Stats } from '@react-three/drei';

import './App.css';

const App = (props) => {
  return (
    <div className="App">
      <Canvas />
    </div>
  );  
};

export default App;
Run Code Online (Sandbox Code Playgroud)

要启动应用程序运行npm run start

模块信息

  • three^0.128.0
  • @react-three/fiber^6.0.16
  • @react-three/drei^4.2.0

更新(2021 年 5 月 4 日)

附加信息

进行了bundle分析,得到以下结果:

// Used these …
Run Code Online (Sandbox Code Playgroud)

javascript three.js reactjs create-react-app react-three-fiber

6
推荐指数
1
解决办法
6859
查看次数

节点以编程方式设置导入模块不可用的进程环境变量

我是新手,希望这个问题的格式和制定得当.迫不及待地想在这个问题上看到你的答案.我们来吧..

上下文

上周末,我试图es2015create-react-app配置文件中实现语法支持,这是直截了当的.我所要做的就是使用babel-registerbabel-preset-env使其正常工作.到目前为止,你可以说这么好,但这并不是一件好事.经过几个小时的搜索,我发现process.env变量不会传递给导入的模块.下面的代码将演示我的问题.

代码

的package.json

{
  ...
  "scripts": [
    "good": "NODE_ENV=development BABEL_ENV=development node -r babel-register scripts/start.js",
    "bad": "node -r babel-register scripts/start.js"
  ],
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-preset-env": "^1.7.0",
    "babel-register": "^6.26.0"
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

.babelrc

{
  "presets": [ "env" ]
}
Run Code Online (Sandbox Code Playgroud)

脚本/ start.js

'use strict'

process.env.NODE_ENV = 'development';
process.env.BABEL_ENV = 'development';

// Always works
const a = require('../src/a');
// Only when environment variables are passed in via the CLI
import b …
Run Code Online (Sandbox Code Playgroud)

javascript import environment-variables node.js ecmascript-6

5
推荐指数
2
解决办法
2186
查看次数