2017-01-16 71 views
2

构造我的angular2正与three.js所。类型错误:OrbitControls不angular2

这是我的CLI角度的配置。

在的package.json:

"three": "^0.81.2", 
"three-stl-loader": "^1.0.4", 

在angular.cli.json:

"../node_modules/three/build/three.min.js", 
    "../node_modules/three/examples/js/Detector.js", 
    "../node_modules/three/examples/js/controls/OrbitControls.js", 
    "../node_modules/three/examples/js/controls/TrackballControls.js", 
    "../node_modules/three/examples/js/loaders/STLLoader.js", 

在组件文件,我装三个和OrbitControls:

​​

当应用程序运行时,控制台发出以下消息:

'THREE.WebGLRenderer 81 
three.js:41149 THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled. 
three.js:41158 THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type. 
' 

所以很明显three.js被加载,但为什么OrbitControls无法找到?

回答

1

我遇到了类似的问题。这里是我的解决办法,运行以下命令:

npm install three-orbit-controls 

编辑component.ts文件在你的import语句,但高于@Component:

const THREE = require('three'); 
const OrbitControls = require('three-orbit-controls')(THREE); 

现在它将会被称为只是OrbitControls代替of.OrbitControls