问题描述
我正在尝试在我的 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 (将#修改为@)