繁体   English   中英

如何在 VS Code 中启用 mjs 文件的类型检查

[英]How to enable type checking of mjs files in VS Code

我有一个带有 js 文件的项目,我在 VS Code 中通过创建此 jsconfig.json 启用跨多个模块的类型检查(突出显示从不同模块导入的 function 的错误参数等):

{
  "compilerOptions": {
    "checkJs": true
  }
}

现在,我读到 typescript 4.5 支持 mjs 文件https://github.com/microsoft/TypeScript/issues/27957

所以我安装了 typescript 4.5 beta,节点 17,并将 jsconfig.json 修改为:

{
  "compilerOptions": {
    "module": "node12",
    "moduleResolution": "node",
    "checkJs": true
  }
}

但它仍然不适用于 mjs 文件,我也在 jsconfig.json 中收到此错误:

“--module”选项的参数必须是:“none”、“commonjs”、“amd”、“system”、“umd”、“es6”、“es2015”、“es2020”、“esnext”

知道如何跨多个模块对 mjs 文件启用类型检查吗?

考虑使用这些 tsconfig.json 选项:

{
  "compilerOptions": {
    "module": "NodeNext",
    "target": "ESNext",
    "moduleResolution": "NodeNext"
  },
  "include": ["**/*.mjs"]
}

=======

这是我所做的所有更改以及 adding.mjs 支持。 我不认为它们都是绝对必要的,但为了完整起见,我想分享一下:

修改了我的 package.json type-check脚本:

"type-check": "tsc --pretty --noEmit && tsc --pretty --noEmit --project tsconfig.mjs.json",

这是我的 tsconfig.mjs.json 文件:

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "module": "NodeNext",
    "target": "ESNext",
    "moduleResolution": "NodeNext"
  },
  "include": ["**/*.mjs"]
}

跑步:

yarn add @typescript-eslint/eslint-plugin @typescript-eslint/parser --dev
yarn remove typescript
yarn add typescript # use latest

您可能会收到一个错误,您需要使用 typescript 每晚构建来实际类型检查 mjs 文件。 跑步:

yarn remove typescript
yarn add typescript@next --dev

我知道您正在寻求一种自动对所有.mjs文件进行类型检查的解决方案,但也许其他人可能会对以下内容感兴趣:

只要你只有几个.mjs文件要用 TypeScript 进行类型检查,你可以在每个.mjs文件的第一行添加//@ts-check

查看 Typescript 文档了解更多详情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM