問題タブ [ng-packagr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - angular-cli ライブラリは、セカンダリ エントリ ポイントを作成します
angular npm パッケージへのセカンダリ エントリ ポイントと呼ばれるものを作成しようとしています。次の2つのエントリポイントが欲しい
angular-cli を使用して基本パッケージを生成すると、次の構造が生成されます
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
、エントリポイントは
セカンダリ エントリ ポイントの src を削除するにはどうすればよいですか?
angular-cli を使用するときにセカンダリ エントリ ポイントを持つライブラリを作成するための正しいアプローチは何ですか?
angular - セカンダリ エンドポイントを使用して Angular ライブラリの API を作成する方法
シナリオ:
を使用してカスタム UI ライブラリを作成しng-packagr
、エクスポートされたカスタムcomponents
クラスといくつかのモデル クラスを作成しました。
問題:
メイン プロジェクトでは、import
ステートメントはエクスポートされたコンポーネントに対しては正常に機能しますが、エクスポートされたクラスに対しては機能せずwebpack
、コンパイルに失敗してエラーが発生します。
モジュールが見つかりませんエラーを解決できません
my-custom-library/models
ライブラリ プロジェクト コード:
モデル クラス: src/app/modules/my-custom-module/models/my-model.ts
インデックス ファイル: src/app/modules/my-custom-module/models/index.ts
ルートのエクスポート ファイル: models.ts
ng-packagr
ルートのファイル: public_api.ts
主なプロジェクト コード:
目的: エンド デベロッパー向けの UI ライブラリ API の簡素化と分割。
webpack
VS Code が を認識しimport
、インテリセンスが機能し、Ctrl + Click
正しいファイルに移動することさえあるため、モジュールの解決のマッピングについて何かが欠けていると思いますがwebpack
、コンパイルに失敗します。