如何协调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 中时,这样做似乎是多余的。
有没有办法以我们现有的方式使用路径?我们还阅读了一些关于项目引用的内容并尝试过,但似乎并没有让我们取得任何进展。
THE END
二维码