8

Angular 4.x アプリケーション (アプリ) 用に、現在 AoT と互換性のないライブラリ (「Lib」など) を作成しました。

App と Lib は両方とも、サードパーティのライブラリ (「X」など) に依存しています。「<strong>npm リンク」を使用してアプリで Lib を開発すると、X が App/node_modules と Lib/node_modules の両方にあるため、いくつかの動作が停止し、実行時に X からのプロバイダーのインスタンスが複数あるように見えます。 Lib/node_modules から X を削除すると、すべて正常に動作します。これはプロバイダーの一般的な制限であり、特に X とは関係がないと思いますが、私の場合、X は実際には ngx-translate です。

私が見つけた「最もクリーンな」回避策は、Lib ではなく App に対してのみ「npm install」を実行することです。このように、ほとんどの依存関係 (X を含む) はアプリの node_modules にのみ存在し、アプリケーションは正常に動作します。ただし、Lib の開発時に IDE の問題が発生します。2) 代わりに、アプリのプロジェクト (node_modules\Lib で直接) から Lib を開発すると、バージョン管理が正しく統合されません (たとえば、チェックアウトできません)。

どうもありがとう!

4

0 に答える 0