'rootDir' 应该包含所有源文件;角度库 10;多个入口点错误;

问题描述

我正在尝试在我的 angular 库(类似于材料库)中实现多个入口点并出现多个错误

环境

Angular  - 10.2.x
TypeScript - 3.9.x
ng-packagr - 10.1.x

库结构如下

@MyLib
├── src
    |-----Button
          ├──── ng-package.json
          ├──── public_api.ts
          |──── *.ts

    |-----Card
          ├──── ng-package.json
          ├──── public_api.ts
          |──── *.ts

    |-----Icon
          ├──── ng-package.json
          ├──── public_api.ts
          |──── *.ts

├── ng-package.json
|── package.json

当我尝试实现多个入口点而不依赖一个组件到另一个组件时 - 我可以成功并在其他项目中使用它

但是当尝试在另一个模块中使用一个模块时(例如,如果我想在卡片组件中使用按钮和图标),我收到以下错误

export * from "./icon.module";
                ~~~~~~~~~~~~~~~
/overall-project/projects/my-lib/icon/public-api.ts:6:15 - error TS6059: File '/overall-project/projects/my-lib/lib/core/utils.ts' is not under 'rootDir' '/overall-project/projects/my-lib/card/src'.

'rootDir' is expected to contain all source files.

但这正是 Angular Material 在这里所做的 - https://github.com/angular/components/blob/master/src/material/button/button.ts#L23

在 angular/material 中,按钮组件从其他模块(核心模块)导入方法并实现多个入口点。

想知道为什么它对我不起作用,任何想法???

PS:没有在 tsconfig.json 的任何地方定义“rootDir”

解决方法

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

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

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