我使用tsd从Definitely Typed下载定义并编译成tsd.d.ts文件。我还没有能够构建,但是当我使用这样的导入时:
import * as THREE from "three"
Visual Studio intellisense很高兴。但是,这对Detector.js(用于检测webgl支持的three.js库)以及this .d.ts文件不起作用。我不确定是什么问题,但我确实注意到三个.ts文件导出 模块(THREE)和detector.d.ts文件只导出一个对象:
three.d.ts
...
declare module 'three' {
export=THREE;
}
detector.d.ts
interface DetectorStatic {
canvas: boolean;
webgl: boolean;
workers: boolean;
fileapi: boolean;
getWebGLErrorMessage(): HTMLElement;
addGetWebGLMessage(parameters?: {id?: string; parent?: HTMLElement}): void;
}
declare var Detector: DetectorStatic;
这会改变我导入探测器的方式吗?
答案 0 :(得分:2)
对于这样的情况,您可以定义自己的。对于大多数项目,我通常都有一个adhoc .d.ts
文件,我会抛出我需要的随机声明(小接口,模块,等等)。
您应该能够在代码中的某个位置简单地定义模块。
declare module "path/to/detector" {
export = DetectorStatic;
}