如何仅在ng-packagr中具有辅助入口点

问题描述 投票:1回答:1

我有一个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

关于如何执行此操作的任何想法?

angular angular-material angular-cli ng-packagr
1个回答
0
投票

我不确定是否支持此方案。

我正在使用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 {};

然后您应该得到想要的结构

希望有帮助

© www.soinside.com 2019 - 2024. All rights reserved.