Angular 10 ライブラリと IVY/ngcc の互換性 質問する

Angular 10 ライブラリと IVY/ngcc の互換性 質問する

npm 経由で配布する必要があるライブラリがあります。Angular 10 では、このようなライブラリは IVY を無効にしてコンパイルすることが依然として推奨されているようですが、Angular CLI によって、IVY が有効になっているアプリとのライブラリの互換性が確保されます。

私のライブラリでは、IVY でビルドすると期待どおりに動作します。しかし、ビルド時に IVY を無効にすると、ライブラリをインポートするときに次のエラーが発生します。

node_modules/@me/my-module/lib/my-module.module.d.ts:1:22 でエラーが発生しています - エラー NG6002: AppModule の NgModule.imports に表示されますが、NgModule クラスに解決できませんでした。

これは、MeMYModule を宣言するライブラリ (@me/my-module) が ngcc によって正しく処理されていないか、Angular Ivy と互換性がないことを意味します。ライブラリの新しいバージョンが利用可能かどうかを確認し、利用可能であれば更新してください。また、ライブラリの作成者に問い合わせて、ライブラリが Ivy と互換性があるかどうかを確認することも検討してください。

何か見落としているのでしょうか? 同様の問題をたくさん見つけましたが、どの解決策もうまくいかないようです。

ベストアンサー1

数日前にも同様の問題に直面しました。package.jsonファイル内に次のスクリプトを追加することで解決しました。

"scripts": {
    "postinstall": "ngcc"
  }

おすすめ記事