在我的webpack配置中:
resolve: {
alias: {
'three': path.resolve('node_modules', 'three/build/three.js'),
'OrbitControls': path.resolve('node_modules', 'three/examples/js/controls/OrbitControls.js'),
'OBJLoader': path.resolve('node_modules', 'three/examples/js/loaders/OBJLoader.js')
}在我的模块中:
import * as THREE from 'three' // if I do import THREE from 'three' it fails with three being undefined
import OrbitControls from 'OrbitControls'
import OBJLoader from 'OBJLoader'如果我使用import * THREE from 'three',一切都很好,我可以得到三个被定义和完成立方体教程没有麻烦。如果我更改为import * as THREE from 'three',three.js是加载的-所以这不是问题吗?
如何加载OrbitControls和OBJLoader?当我试图让它们加载时,我会在OrbitControls.js中获得OrbitControls.js:THREE.OrbitControls = function ( object, domElement ) { 3是未定义的。
所以模块的包装有问题吗?我从https://www.npmjs.com/package/three安装了这个
那是怎么回事?Three.js是如何打包在npm上的,还是我的webpack.config中的一个错误配置?有没有办法告诉webpack“让我们打包根three.js文件,然后打包OrbitControls.js文件”?
发布于 2016-11-11 23:03:23
我需要通过npm安装three-orbit-controls和three-obj-loader。
然后在我的模块中,它只是简单地要求它们:
var OBJLoader = require('three-obj-loader')(THREE)
var OrbitControls = require('three-orbit-controls')(THREE)准备好了!
https://stackoverflow.com/questions/40556588
复制相似问题