問題タブ [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 サービスの NPM パッケージを作成する適切な方法
仕様に基づいて (サービス/モデル) のクライアントを生成している Angular 7 プロジェクトがありますswagger.json
。生成されたクライアントは、独自の に存在しますapi.module
。ng build
Angular CLI を使用してこれらのサービスとモデルをパッケージ化したいと考えていますyarn pack
。
- npm パッケージのサービスをエクスポートする適切な方法は何ですか?
各サービスは@Injectable({ providedIn: "root" })
で使用され、インポートされませんapi.module
。services/
およびディレクトリにバレルまたはインデックス ファイルを使用しようとしましたが、パッケージを作成する主な理由の 1 つである未使用のサービスをツリー シェイクmodels/
できません(つまり、.sideEffects: false
編集
残念ながら削除されたコメントのおかげで、樽を使用したり操作したりできng-packagr
ません。
バレルなしでサービスをエクスポートする方法について何か提案はありますか? ファイル内の各サービスをエクスポートする必要がありpublic_api
ますか?
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
ました。SecondProject
FirstProject
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 install
たFirstProject
ところ、適切に作成されたノードモジュールの下の参照が表示されますが、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'
ここで何が欠けているのか理解できません。