問題タブ [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.

0 投票する
0 に答える
305 参照

angular - Angular サービスの NPM パッケージを作成する適切な方法

仕様に基づいて (サービス/モデル) のクライアントを生成している Angular 7 プロジェクトがありますswagger.json。生成されたクライアントは、独自の に存在しますapi.moduleng buildAngular CLI を使用してこれらのサービスとモデルをパッケージ化したいと考えていますyarn pack

  1. npm パッケージのサービスをエクスポートする適切な方法は何ですか?

各サービスは@Injectable({ providedIn: "root" })で使用され、インポートされませんapi.moduleservices/およびディレクトリにバレルまたはインデックス ファイルを使用しようとしましたが、パッケージを作成する主な理由の 1 つである未使用のサービスをツリー シェイクmodels/できません(つまり、.sideEffects: false

編集

残念ながら削除されたコメントのおかげで、樽を使用したり操作したりできng-packagr ません。

バレルなしでサービスをエクスポートする方法について何か提案はありますか? ファイル内の各サービスをエクスポートする必要がありpublic_apiますか?

0 投票する
3 に答える
7054 参照

angular - ng-packagr の使用エラー: モジュールが見つかりません: エラー: 解決できません

メイン プロジェクトでパッケージ化して参照しているサブ モジュールの 1 つで定義されたコンポーネントをインポートできません。すべて問題ないように見えますが、まだエラーが表示されます -

./src/app/app.module.ts のエラー モジュールが見つかりません: エラー: 'C:\Users\anujin の '@first-project/second-project/app/registration/registration.component' を解決できません\Documents\workspace-vs-code\ FirstProject\src\app' ./src/app/app-routing.module.ts のエラー モジュールが見つかりません: エラー: '@first-project/second-project/ を解決できませんapp/registration/registration.component' in 'C:\Users\anujin\Documents\workspace-vs-code\ FirstProject\src\app'

私は2つのプロジェクトを作成しました -

  • ファーストプロジェクト
  • セカンドプロジェクト

で使用する必要がある を作成しRegistrationComponentました。SecondProjectFirstProject

FirstProject ファイル:

package.json

ng-package.json-

public_api.ts

次のコマンドを実行しましたFirstProject-

  • npm run packagr
  • CDディストリビューション
  • npm パック

次に、パッケージ化された を参照しSecondProjectましたFirstProject

FirstProject ファイル -

package.json

app.module.ts

app.routing.ts

私が行っnpm installFirstProjectところ、適切に作成されたノードモジュールの下の参照が表示されますが、npm startここで行うFirstProjectと、次のエラーが発生します-

./src/app/app.module.ts のエラー モジュールが見つかりません: エラー: 'C:\Users\anujin の '@first-project/second-project/app/registration/registration.component' を解決できません\Documents\workspace-vs-code\ FirstProject\src\app' ./src/app/app-routing.module.ts のエラー モジュールが見つかりません: エラー: '@first-project/second-project/ を解決できませんapp/registration/registration.component' in 'C:\Users\anujin\Documents\workspace-vs-code\ FirstProject\src\app'

ここで何が欠けているのか理解できません。