我对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”。
我该怎么办?
答案 0 :(得分:1)
您可以在tsconfig.json
中使用类型定义来设置自己的目录,例如。 typings
目录:
{
"compilerOptions": {
"typeRoots" : ["./node_modules/@types", "./typings"]
}
}
如果您在config中设置typeRoots
属性,则不会考虑node_modules/@types
(默认情况下),因此这就是为什么要在数组中设置这两个属性的原因