如何协调monorepo与多个tsconfig.json每个都有自己的路径?

我们有一个像这样的代码库设置:

-A
--utils
---index.ts
--index.ts
--tsconfig.json
-B
--utils
---index.ts
--index.ts
--tsconfig.json
-tsconfig.json

我们的根tsconfig.json包含以下内容:

    "paths": {
      "A/*": ["A/*"],
      "B/*": ["B/*"],
    },

每个包tsconfig.json包含以下内容:

    "paths": {
      "utils/*": ["./utils/*"],
    },

这适用于我们当前的目的,因为我们目前只使用 TS 进行类型检查,但我们实际上使用 Babel 生成构建,它alias在各种.babelrc文件的属性中具有类似的设置。

我们希望开始使用ts-node(或等效的)运行代码,但在运行时遇到了问题,TS 不知道如何解析模块。例如:

// A/index.ts
import { someUtil } from 'utils'
export const someFunc() => someUtil();
// B/index.ts
import { someFunc } from 'A';

当我们运行时,npx ts-node ./B/index.ts我们收到一条错误消息,提示“无法找到模块 'utils'。

我们知道我们可以通过将所有内容提升到 root 来实现这一点tsconfig.json,但是import { someUtil } from 'A/utils当您已经在包 A 中时,这样做似乎是多余的。

有没有办法以我们现有的方式使用路径?我们还阅读了一些关于项目引用的内容并尝试过,但似乎并没有让我们取得任何进展。

以上是如何协调monorepo与多个tsconfig.json每个都有自己的路径?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>