私はAngular 5アプリ、angular-cli 1.6.6で実行しています。アプリをバンドルすると、(他のすべての中に)common.chunkができます。 js。
あなたはそれが何であるか知っていますか?それは私のモジュールのどれとも一致しません、それもvendorやmainやではありません)polyfill専用のチャンクがあるため。
共通チャンクは、複数の機能モジュールが使用するすべてのものの場所です。
カスタムgrid
モジュールにカスタムグリッドコンポーネントがあるとします。次に、このグリッドモジュールをuser
およびadmin
機能モジュールにインポートします。 grid
モジュールは複数の機能モジュールで使用されるため、Webpackはそれを他の機能モジュールが依存するcommon.chunk
に統合します。
チャンクの名前付けをオフにしてビルドを実行すると(--named-chunks false
---prod
ビルドではデフォルトで使用されます)、common.chunk
は0.chunk
になります-ロードする必要があるゼロ番目のチャンク他の遅延チャンクの前。
これの欠点の1つは、アプリに小さなレイジーモジュールがたくさんある場合(スクリーンショットから判断するとそうだと思います)、common.chunk
が特に急速に肥大化し始めることです。怠惰なモジュールのうち2つが素晴らしい(まだぽっちゃりした)チャートライブラリを使用しているとしましょう。グラフライブラリのツリーが揺れるコードはすべてcommon.chunk
になります。他の遅延モジュールは、このようなチャートコードの山を使用していませんが、common.chunk
に依存しており、不要なチャートコードをすべてロードして実行します。
何が何であるかを確認するには、webpack-bundle-analyzer
を使用して、ビルドされたチャンクの内部を検査できます。 npm i --D
を使用するか、npx
を使用して、開発依存関係を膨らませないでください。
ng build --prod --stats-json && npx webpack-bundle-analyzer dist/stats.json
これが少し役立つことを願っています:-)