服务不在 Angular 辅助入口点的“rootDir”下

问题描述

在编译 Angular 库时,我收到关于我的子库的 rootDir 的错误

library/services/src/public-api.ts:31:15 - error TS6059: File 'C:/libname/library/services/src/orders/orders.service.ts' is not under 'rootDir' 'C:/libname\library\classes\src'. 'rootDir' is expected to contain all source files.

我逐渐明白,在 Angular 库中的各个二级条目之间使用相对导入并不是一个好习惯。所以我在 TSConfig 中将我的代码分为二级条目 + 设置路径

代码结构

library
  services
    src
      public-api.ts
    package.json
  models
    src
      public-api.ts
    package.json
  src
    public-api.ts
  package.json

TSConfig

{
  "rootDir": "./library/","paths": {
    "@core/services": [ "library/services/src/public-api.ts" ]
  }
}

angular.json

{
  "projects": {
    "lib": {
      "root": "library","sourceRoot": "library"
    }
  }
}

所以问题是 - 如何修复各个辅助入口点或文件结构之间的导入并使项目编译正常?我知道辅助入口点的编译是分开的,并且“被视为一个单独的项目”,因此是错误的。因此,我是否应该添加单独的辅助入口点作为对等依赖项?

当然还有更多的路径和次要端点 - 但这与问题无关,这足以显示我的文件结构和设置

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)