我正在尝试在我的 angular npm 包中创建我认为称为辅助入口点的东西。我想要以下两个入口点
@scope/data-service
@scope/data-service/models
使用angular-cli生成基础包生成如下结构
scope
└───data-service
│ karma.conf.js
│ ng-package.json
│ ng-package.prod.json
│ package.json
│ tsconfig.lib.json
│ tsconfig.spec.json
│ tslint.json
│
└───src
│ public_api.ts
│ test.ts
│
└───lib
data-service.component.spec.ts
data-service.component.ts
data-service.module.ts
data-service.service.spec.ts
data-service.service.ts
根据 ng-packagr文档,您可以在名为 models 的数据服务下添加一个文件夹,然后在该文件夹中添加一个package.json
文件夹,但 ng-packagr 似乎使用与 angular-cli 略有不同的结构。理想情况下,我正在尝试对类似于https://github.com/angular/angular/tree/master/packages/common的结构进行建模,但只要公众公开@scope/data-service
,@scope/data-service/models
我就会很高兴。
当我尝试创建类似于 ng-packager 推荐的结构时,我得到
error TS6059: File 'C:/projects/data-service-app/projects/scope/data-service/models/src/index.ts' is not under 'rootDir' 'C:\projects\data-service-app\projects\scope\data-service\src'. 'rootDir' is expected to contain all source files.
当我将模型目录移动到data-service\src
目录中时,我的入口点是
@scope/data-service
@scope/data-service/src/models
如何摆脱辅助入口点上的 src?
使用 angular-cli 时创建具有辅助入口点的库的正确方法是什么?