我有一个Angular CLI库,其中每个组件只能通过它们各自的入口点(例如Angular Material)导入:
import {Foo} from '@myLib/foo
import {Bar} from '@myLib/bar
因此,我不需要ng-packagr配置中的主入口点。
我已经定义了所有辅助入口点,并且我想删除主要入口点,所以用户不能只是“ import'Bar from'@myLib”,但是ng-package.json需要一个entryFile当我将entryFile保留为空时,出现错误
错误:内部错误:无法获得入口点的符号
我必须在entryFile中添加至少一个有效的导出。
[Angular Material团队似乎正确无误-https://github.com/angular/components/blob/master/src/material/index.ts
关于如何执行此操作的任何想法?
我不确定是否支持此方案。
我正在使用ng-packagr进行类似的设置,以下是可行的方法(尽管不是很完美):
如果您具有以下结构:
@mylib
├── src
| ├── public_api.ts
| └── *.ts
├── ng-package.json
├── package.json
└── foo
| ├── src
| | ├── public_api.ts
| | └── *.ts
| └── ng-package.json
└── bar
├── src
| ├── public_api.ts
| └── *.ts
└── ng-package.json
如果使用范围名称设置根package.json,则>
{ "name": "@myLib" }
您将根ng-package.json设置为此
{ "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", "dest": "../../dist/@myLib" }
并将空对象导出放入您的主public_api.ts(即/src/public_api.ts)
export default {};
然后您应该得到想要的结构
希望有帮助