我有一个子项目(它有一个不同的 git repo),它有自己的 package.json 等。
父应用:
**tsconfig.json**
"paths": {
"subproject1": ["dist/subproject1"],
"subproject1/*": ["dist/subproject1/*"],
"subproject2": ["dist/subproject2"],
"subproject2/*": ["dist/subproject2/*"],
角.json
"subproject1": {
"projectType": "library",
"root": "projects/subproject1",
"sourceRoot": "projects/subproject1/src",
"prefix": "lib",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:ng-packagr",
"options": {
"tsConfig": "projects/subproject1/tsconfig.lib.json",
"project": "projects/subproject1/ng-package.json"
},
"configurations": {
"production": {
"tsConfig": "projects/subproject1/tsconfig.lib.prod.json"
}
}
},
}
},
app.module.ts
import { Subproject1Module } from 'subproject1';
import { Subproject2Module } from 'subproject2';
imports: [
Subproject1Module,
Subproject2Module
...
我们运行ng build subproject1
&&ng build subproject2
它将在 dist 文件夹中创建自己的类,当我们运行时ng serve
一切都很好。
但我想在所有这些服务中添加一个通用库。(其实是openapigenerator创建的一个lib)
在父应用程序内部
库/fontend/common-api
tsconfig.json:
"paths": {
"@spec/frontend/common-api": ["libs/frontend/common-api/index.ts"]
}
角.json
"common-api": {
"root": "libs/frontend/common-api",
"sourceRoot": "libs/frontend/common-api/src",
"projectType": "library"
},
并注入基本路径:
app.module.ts
CommonApiModule.forRoot(() => {
return new CommonConfiguration({
basePath: environment.apiGatewayUrl,
});
}),
问题从这里开始:
我需要在 subproject1 中使用这个通用的 api 服务
当我尝试导入它时它会出错:
'rootDir' is expected to contain all source files.