NX 将 dist/packages 添加到我的路径映射中



问题:为什么 TypeScript/Nx 会在我的路径映射中添加dist/packages

我正在将我的polyrepo项目转换为nx monorepo。在我的 polyrepo 中,我有一个带有src文件夹的存储库mpg-common,所有其他存储库都从中导入:import { Bla } from 'mpg-common/lib/services/....我想在移动到 monorepo 时保留这种导入语法,所以在tsconfig.base.json我把compilerOptions: { "paths": { "mpg-common/lib/*": ["packages/mpg-common/src/*"]

但是,这些导入失败。为了调试,我设置了"traceResolution": true,然后我看到:

Module name 'mpg-common/lib/inversify.config', matched pattern 'mpg-common/lib/*'.
Trying substitution 'dist/packages/mpg-common/lib/*', candidate module location: 'dist/packages/mpg-common/lib/inversify.config'.

那么,问题:为什么 TypeScript/Nx 将这些dist/packages添加到我的路径映射中?

原来我的package.json"name": "mpg-common",这导致nx自动映射mpg-common => dist/packages/mpg-common,这是从packages/mpg-common/project.json => targets/build/options/outputPath中获取的。

因此,解决方案:将package.json更改为"name": "@myworkspace/mpg-common"