错误:类型只能在.ts文件中使用-使用@ts-check的Visual Studio代码
我开始在我用Visual Studio代码处理的Node项目中使用TypeScrip。我想遵循类似于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.
,如下图所示。
我看到this question建议禁用vscode中的Java脚本验证,但随后没有向我显示任何任何类型的IntelliSense信息。
我尝试在TSLint扩展文档中提到的vscode设置中将tslint.jsEnable
设置为true
,但没有成功。
要将.js
文件与TypeScrip一起使用并获取智能感知,以便在运行任何TS命令之前知道代码中的错误是什么,正确的设置是什么?
解决方案
我将flow与vscode一起使用,但遇到了相同的问题。我用以下步骤解决了这个问题:
安装扩展Flow Language Support
禁用内置TypeScrip扩展:
- 转到扩展标签
- 搜索@Builtin TypeScrip和JavaScript语言功能
- 单击禁用
相关文章