我开始在我正在使用 Visual Studio Code 处理的 Node 项目中使用 TypeScript。我想遵循类似于 Flow 的“选择加入”策略。因此,我将 // @ts-check
放在我的 .js
文件的顶部,希望为该文件启用 TS。最终,我想要与 Flow 一样的“linting”体验,因此我安装了插件 TSLint ,这样我就可以看到 Intellisense 警告/错误。
但是我的文件看起来像:
// @ts-check
module.exports = {
someMethod: (param: string): string => {
return param;
},
};
我的 tsconfig.json
文件看起来像……
{
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"allowJs": true
}
}
我收到此错误: [js] 'types' can only be used in a .ts file.
如下图所示。
我看到了 这个问题,它建议在 vscode 中禁用 javascript 验证,但是这并没有显示 任何 TypeScript Intellisense 信息。
我尝试在 TSLint 扩展文档中提到的 vscode 设置中将 tslint.jsEnable
设置为 true
但没有运气。
为了使用 .js
文件和 TypeScript 并获得 Intellisense 的正确设置是什么,所以我知道我的代码中的错误是什么,然后再运行任何 TS 命令?
原文由 james 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在使用带有 vscode 的 流,但遇到了同样的问题。我通过以下步骤解决了它:
安装扩展 流语言支持
禁用内置的 TypeScript 扩展: