網站搜尋

javascript - Turborepo/Typescript 套件 - 維護匯入結構


我正在為 TypeScript 開發一系列作為 Turborepo 專案一部分的套件。這些套件的匯入結構範例如下

import { Test } from "package-name"
import { Test } from "package-name/Test"

我在使用 Turborepo 開發時遇到的問題是,我只能這樣引用它:

import { Test } from "package-name"
import { Test } from "package-name/dist/Test"
import { Test } from "package-name/src/Test"

這是因為它不在根目錄中,而是在 src(如果已建構則是 dist)目錄中。

有沒有辦法解決這個問題?我已經嘗試了 TSConfig 中的幾個選項,看看是否能解決這個問題,但似乎找不到任何方法。

答案#1

所以為了回答我自己的問題,我認為這裡的主要機制會是(鑑於包的數量有限)我可以在使用該包的主應用程式中,用我的 tsconfig.json 路徑覆寫導入路徑,而不是在包本身中。

可能有更乾淨的方法來做到這一點,但它確實有效。

例如

"package-name": [
     "../../node_modules/package-name/src/*",
]

我現在可以做:

import { Test } from "package-name"
import { Test } from "package-name/Test"

而不是

import { Test } from "package-name"
import { Test } from "package-name/src/Test"