網站搜尋

Visual Studio Code - 在 VSCode 中模組導入路徑映射而不與 TypeScript 配置互動?


我正在處理一個包含多個套件的單一代碼倉庫。

想像我有兩個函式庫 a 和 b。如果在 b 裡我使用以下方式匯入 a:

import a from '@org/a'

在編譯過程中,上述路徑將由 webpack(或 yarn workspaces)解析為 ../a,其中 package.json 將指示 node 尋找 a/dist/index.js。

在開發過程中,我想將 @org/a 映射到 ../a/src/index.ts,這樣智能提示會將我導向源代碼文件夾,而不是構建文件夾。

TypeScript 在它的 tsconfig.json 中包含了 paths 選項,我可以在 b 中使用它來映射:

{
  "paths" {
    "@org/a": ["../a/src"]
  }
}

這在我的 IDE 中運作良好,然而,當使用 tsconfig 路徑時,b 在編譯後會在其 build 資料夾中輸出 a 的類型,如下所示:

/src
  /a
    /build
      index.d.ts
      index.js
    index.ts
  /b
    /build
      /a
        index.d.ts
      /b
        index.d.ts
      index.js
    index.ts

作為比較,如果不在 b 中包含 tsconfig 路徑配置,這就是 b 的 build 資料夾的樣子:

/b
  /build
    index.d.ts
    index.js
  index.ts

使用 tsconfig 路徑會導致包含我不想要的檔案到我的專案中,並且破壞了 b 的 package.json 中的 types 鍵

有沒有辦法讓我手動配置 vscode 來映射導入路徑,而不是去查找 tsconfig 來獲取這些信息?