使带有JSDoc的TypeScript在不导入的情况下查看参考库



我使用TypeScript来键入check(不发出)JavaScript项目。在JavaScript项目中,我使用JSDoc来简化TypeScript的工作,但我也使用第三方包,它们提供自己的打字法(而不是@types),而TypeScript看不到这些包,因为它们在页面上只使用了一个简单的script标记。

我不想手工为库对window的贡献编写打字符,因为包已经自带打字符了,TypeScript就是看不到它们,我想知道是否有办法让它知道它们。

我不能使用import/// <reference,因为源文件是JavaScript文件,而不是TypeScript文件,我必须坚持JavaScript允许的内容。

我不能使用@types,因为打字员直接来自包裹,而不是@types。我可能npm install这些包,但TypeScript无法知道项目引用了它们(没有导入等),所以我认为需要有一个编译器设置让它知道。

我已经尝试过使用script对TypeScript在运行时获得的依赖项的NPM包进行npm install,并设置typeRoots:

"compilerOptions": {
"typeRoots": [
"node_modules/package"
]
}

但这并没有任何效果。

我也试着配置"typeAcquisition"来完成我的出价,如下所示:

{
"typeAcquisition": {
"enable": true,
"include": [
"package"
]
}
}

这也不起作用,这是可以理解的,因为我认为这只是启用了@types的自动提取,而在我的情况下,打字员是实际包的一部分,就像我之前所说的那样。

我如何让TypeScript意识到我的JavaScript项目——它以一种从源代码看不到的方式对引用包进行类型检查,以便加载它们的类型,并识别和检查包提供的全局对象?

尝试compilerOptions.types。它包含要包含在编译中的类型声明文件。

"types": [
"package"
],

最新更新