Javascript Threejs:如何将加载程序导入React应用程序?
您好,感谢您阅读此问题。您应该尝试使用全局对象,如下所示: 创建一个新的three.js文件Javascript Threejs:如何将加载程序导入React应用程序?,javascript,reactjs,web,import,three.js,Javascript,Reactjs,Web,Import,Three.js,您好,感谢您阅读此问题。您应该尝试使用全局对象,如下所示: 创建一个新的three.js文件 import * as THREE from 'three'; window.THREE = THREE; // THREE.NRRDLoader expects THREE to be a global object require('three/examples/js/loaders/NRRDLoader'); export default window.THREE; 然后在组件中,从该
import * as THREE from 'three';
window.THREE = THREE; // THREE.NRRDLoader expects THREE to be a global object
require('three/examples/js/loaders/NRRDLoader');
export default window.THREE;
然后在组件中,从该文件导入三个:
import React from 'react';
import ReactDOM from 'react-dom';
import THREE from "./three"; // note the import here
class Scene extends React.Component {
}
然后,您应该能够像现在一样使用THREE.NRRDLoader:
var loader = new THREE.NRRDLoader();
您可以在webpack.config中添加合适的加载程序
/*
glb files for 3D models
------
* Copies fonts found within the `src` tree to the `dist` folder
* Keeps the original file name to the path
*/
{
test: /\.(glb|gltf)$/,
use:
[
{
loader: 'file-loader',
options:
{
outputPath: 'assets/models/'
}
}
]
},
如果您使用的是React钩子,下面是一个从three.js加载的3D模型和React.js的示例
我和assimpJSONLoader面临同样的问题。你找到解决办法了吗?我也有同样的问题。有人发现了吗?