2017-01-16 70 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