全局库的打字稿类型定义

时间:2018-06-24 13:15:33

标签: typescript typescript-typings

我对ts中的类型有疑问。

我已经在index.html文件中加载了一些全局库 我想在main.ts中使用它们

我无法从npm安装该库以使用其内置的定义,并且@types包中没有该库的定义。

如何定义自己的.d.ts文件?

我尝试过/// <reference path="path/to/file/myModule.d.ts"/>,并且在该文件中我有类似的内容

declare namespace X {
...
...
}

但是在main.ts文件中,我想使用X.type作为类型时,会出错

  

TS2503:找不到名称空间“ X”。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以在tsconfig.json中使用类型定义来设置自己的目录,例如。 typings目录:

{
   "compilerOptions": {
       "typeRoots" : ["./node_modules/@types", "./typings"]
   }
}

如果您在config中设置typeRoots属性,则不会考虑node_modules/@types(默认情况下),因此这就是为什么要在数组中设置这两个属性的原因