错误:类型只能在.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一起使用,但遇到了相同的问题。我用以下步骤解决了这个问题:

  1. 安装扩展Flow Language Support

  2. 禁用内置TypeScrip扩展:

    1. 转到扩展标签
    2. 搜索@Builtin TypeScrip和JavaScript语言功能
    3. 单击禁用

相关文章