![](/img/trans.png)
[英]How do I enable JavaScript type checking in Vue files on Visual Studio Code?
[英]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.