簡體   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