0

我有一个子项目(它有一个不同的 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.
4

0 回答 0