使用 NX Monorepo 从另一个库导入构建库

Hiv*_*aga 12 tsconfig monorepo nrwl nrwl-nx

情况如下。我正在使用 Nrwl NX Monorepo。我有 2 个库:lib-alib-b; 两者都是通过 NX 创建的可发布库。

现在我创建一个MyClass.tslib-a. workspace/tsconfig.json当然,在> NX中的路径下paths会为此创建一个别名lib-a( "@workspace/lib-a": ["libs/lib-a/src/index.ts"])。

到目前为止,一切都很好。现在我们可以通过导入它在工作区/monorepo 中的任何地方使用这个类import { MyClass } from '@workspace/lib-a';

不幸的是我们无法构建lib-b正在导入的MyClass. 当我们尝试这样做时,我们会收到以下错误。那么问题是我们如何构建lib-b

PS:奇怪的是,NX monorepo 实际上不支持链接 2 个可发布库的常见场景。

“错误 TS6059:文件“d:/workspace/libs/lib-a/src/index.ts”不在“rootDir”下“d:\workspace\libs\lib-b\src”rootDir 预计包含所有源文件”

Rad*_*zic 6

尝试添加

"paths": { "@workspace/*": ["dist/libs/*"] }
Run Code Online (Sandbox Code Playgroud)

到您的 tsconfig.lib.json 文件中。这应该可以解决问题。