在index.html
文件中,我正在使用ts类型检查。这适用于内联JSDoc声明,即。 vscode正确显示无效的类型分配:
<script>
// @ts-check
/**
* @typedef {Object} SpecialType - a new type
* @property {number} prop1 - a number
*/
/** @type {SpecialType} */
const x = { prop1: 'invalid number' }; // <-- vscode shows the type error
</script>
有没有办法将该类型定义提取到外部文件中并将其导入index.html
,或者让vscode全局知道该类型?
我尝试了以下操作,但在所有情况下,vscode在index.html
中使用时都缺少该类型:
types.js
文件,该文件只包含JSDoc typedef注释并通过<script src="..."></script>
types.html
文件,其中包含带有JSDoc typedef注释的脚本块,并通过<link rel="import" href="...">
global.d.ts
文件,并使用/// <reference path="..." />
答案 0 :(得分:0)
尝试创建一个typings文件夹,比如说,typings/global
到项目的根目录。然后,创建一个包含ts声明的index.d.ts
文件,并将其放在global
文件夹中。
在tsconfig.json
:
"typeRoots": [
{
"./node_modules/@types"
"./typings"
}
],
"types": [
"global",
...
]
如果指定了typeRoots,则只包含typeRoots下的包