我在后端有一个进程,可以自动生成调用后端所需的接口、枚举和服务。
所有这些都生成到三个目录中:接口、枚举和服务。
我已将这些目录放入结构如下的可构建库中:
/libs/api/src/{接口、枚举、服务}
每个目录中都有相应的 TS 文件。
在我的 tsconfig.base.json 文件中,我添加了以下路径条目:
"@skycourt/api/enums/*": ["libs/api/src/enums/*"],
"@skycourt/api/interfaces/*": ["libs/api/src/interfaces/*"],
"@skycourt/api/services/*": ["libs/api/src/services/*"],
在第二个称为 helpers 的库中,我导入了几个枚举和接口,如下所示:
从'@skycourt/api/enums/ActivityType'导入{ActivityType};
VSCode 很乐意识别这些路径。 Lint 很高兴地识别了这些路径,并且我能够在使用这些路径的第二个库中运行 jest 测试。
但是,当我尝试构建助手库时,出现以下错误:
为项目“common-helpers”编译 TypeScript 文件...
libs/common/helpers/src/lib/ActivityIcon.ts:1:30 - 错误 TS2307:找不到模块“@skycourt/api/enums/ActivityType”或其相应的类型声明。
1 从“@skycourt/api/enums/ActivityType”导入 {ActivityType};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我知道 Nx 理解 helpers 和 api 之间的依赖关系,因为当我显示图形时,有一个从 helpers 到 api.strong text 的箭头