我正在尝试创建一个我认为被称为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的documentation,您需要在data-service下添加一个名为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.
当我将models目录移动到data-service\src
目录中时,我的入口点是:@scope/data-service
@scope/data-service/src/models
我该如何去掉次要入口点上的src?
使用angular-cli创建具有次要入口点的库的正确方法是什么?