14

angular npm パッケージへのセカンダリ エントリ ポイントと呼ばれるものを作成しようとしています。次の2つのエントリポイントが欲しい

@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そのフォルダーに 2 番目のフォルダーを追加しますが、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 を使用するときにセカンダリ エントリ ポイントを持つライブラリを作成するための正しいアプローチは何ですか?

4

3 に答える 3