![](/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.