使用 JSDoc 使 TypeScript 无需导入即可查看参考库
Make TypeScript with JSDoc see reference libraries without import
我正在使用 TypeScript 对 JavaScript 项目进行类型检查(不发出)。在 JavaScript 项目中,我使用 JSDoc 来简化 TypeScript 的工作,但我也在使用第三方包,它们提供自己的类型(而不是 @types
)并且 TypeScript 看不到这些包,因为它们仅在页面上使用一个简单的 script
标记。
我不想为库对 window
的贡献手动编写类型,因为这些包已经带有它们自己的类型,TypeScript 只是看不到它们,我想知道是否有让它知道它们的方法。
我不能使用 import
或 /// <reference
,因为源文件是 JavaScript 文件,而不是 TypeScript 文件,我必须坚持使用 JavaScript 允许的内容。
我不能使用 @types
,因为类型直接来自包,而不是 @types
。我可能 npm install
包,但 TypeScript 无法知道项目引用了它们(没有导入等)所以我假设需要一个编译器设置让它知道。
我已经尝试 npm install
使用 script
并设置 typeRoots
:
来获取 TypeScript 在运行时获取的依赖项的 NPM 包
"compilerOptions": {
"typeRoots": [
"node_modules/package"
]
}
但这没有任何效果。
我也试过配置 "typeAcquisition" 来执行我的命令:
{
"typeAcquisition": {
"enable": true,
"include": [
"package"
]
}
}
这也不起作用,这是可以理解的,因为我认为这只会启用 @types
的自动获取,而在我的情况下,如我之前所说,打字是实际包的一部分。
我如何让 TypeScript 知道我的 JavaScript 项目它以一种从源代码中看不到的方式对引用包进行类型检查,以便它加载它们的类型,并且包提供的全局对象被识别和类型检查过?
尝试compilerOptions.types
。它包含要包含在编译中的类型声明文件。
"types": [
"package"
],
我正在使用 TypeScript 对 JavaScript 项目进行类型检查(不发出)。在 JavaScript 项目中,我使用 JSDoc 来简化 TypeScript 的工作,但我也在使用第三方包,它们提供自己的类型(而不是 @types
)并且 TypeScript 看不到这些包,因为它们仅在页面上使用一个简单的 script
标记。
我不想为库对 window
的贡献手动编写类型,因为这些包已经带有它们自己的类型,TypeScript 只是看不到它们,我想知道是否有让它知道它们的方法。
我不能使用 import
或 /// <reference
,因为源文件是 JavaScript 文件,而不是 TypeScript 文件,我必须坚持使用 JavaScript 允许的内容。
我不能使用 @types
,因为类型直接来自包,而不是 @types
。我可能 npm install
包,但 TypeScript 无法知道项目引用了它们(没有导入等)所以我假设需要一个编译器设置让它知道。
我已经尝试 npm install
使用 script
并设置 typeRoots
:
"compilerOptions": {
"typeRoots": [
"node_modules/package"
]
}
但这没有任何效果。
我也试过配置 "typeAcquisition" 来执行我的命令:
{
"typeAcquisition": {
"enable": true,
"include": [
"package"
]
}
}
这也不起作用,这是可以理解的,因为我认为这只会启用 @types
的自动获取,而在我的情况下,如我之前所说,打字是实际包的一部分。
我如何让 TypeScript 知道我的 JavaScript 项目它以一种从源代码中看不到的方式对引用包进行类型检查,以便它加载它们的类型,并且包提供的全局对象被识别和类型检查过?
尝试compilerOptions.types
。它包含要包含在编译中的类型声明文件。
"types": [
"package"
],