Enn*_*ael 6 javascript visual-studio-code
是否可以将类型信息提供给VS Code linter以获取JavaScript文件?我有一个JavaScript文件和一个.d.ts文件,我希望使用此.d.ts文件解析JavaScript文件的类型错误.那可能吗?如果不能直接在VS Code中使用,是否可以使用其他工具?
要添加示例:
// file.d.ts
declare function f(x: number): number;
// file.js
function f(x) { return x * 2; }
f('Not a number'); // This should be an error
Run Code Online (Sandbox Code Playgroud)
一般来说,您需要在项目的根目录下创建一个包含以下内容的jsconfig.json文件:
{
"compilerOptions": {},
"exclude": [
"node_modules"
]
}
Run Code Online (Sandbox Code Playgroud)
该文件告诉 VS Code 将所有 js 文件(和 d.ts 文件)视为同一项目的一部分。
然而,TypeScript 似乎没有将fd.ts 文件中的类型声明与fjs 文件中的实际声明合并。如果注释掉实现,您将得到正确的类型f和预期的错误:
// @ts-check
//function f(x) { return x * 2; }
f('Not a number'); // This is an error
Run Code Online (Sandbox Code Playgroud)
但除此之外,f具有类型function(x: any): number。
这对我来说似乎是出乎意料的,我已经打开了一个新问题来跟踪这个问题: https: //github.com/Microsoft/TypeScript/issues
另外,如果您只使用 JavaScript,则始终可以使用 jsdoc 注释来添加类型信息:
// @ts-check
/**
* @param {number} x
* @return {number}
*/
function f(x) { return x * 2; }
f('Not a number'); // This is an error
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1433 次 |
| 最近记录: |