我正在为现有的Javascript应用程序编写插件-Forge Autodesk.Viewing
第6版之后,他们在应用程序包中包含THREE.js。
现在,我可以像这样在我的插件中使用它:
declare var THREE:any;
但是我松了所有类型。
所以,我要通过]安装three.js>
npm install --save three
我可以使用三个,并将其导入。但是我不需要导入它,因为我已经在主应用程序中将其导入。我需要做的是引用类型。
所以,我试图做这样的事情:
declare var THREE:THREE; //Cannot use namespace 'THREE' as a type.
然后我尝试:
/// <reference types='three' />
可以正常工作,但是:
const planes:THREE.Plane[] = []; //this line is okey planes.push(new THREE.Plane()); //but this says //'THREE' refers to a UMD global, // but the current file is a module. // Consider adding an import instead.
Tsc坚持我们应该导入它:
import * as THREE from 'three';
它的编译没有任何问题,但是当我启动应用程序时,它崩溃了,原因是它尝试获取另一个THREE.js实例,我不提供该实例,因为我将其放在主应用程序中。
总而言之-如何声明正确的引用并将类型保留为主要javascript应用程序可用的名称空间?
我正在为现有的Javascript应用程序编写插件-Forge Autodesk。查看版本6之后,他们将THREE.js包含在其应用程序包中。现在,我可以将其与我的插件一起使用,例如...
Ypu需要导入三个模块:像这样: