1つの参考記事
詳細webpack4は、コードパッケージを分割splitchunksPlugin
2:optimization.runtimeChunkのwebpack4があるの役割は何ですか?
参考記事を初めて目:
最適化の永続キャッシュ、ランタイムはWebPACKの動作環境を参照して(つまり、分析モジュール、負荷の特定の役割)とモジュールの在庫情報、
モジュール情報リストは、モジュールが変更されるたびに(変更のハッシュ)を変更します私たちは、別々にパッケージのコードのこの部分の外にしたい
ことは、モジュールLEDモジュールモジュールは変更されませんので、バックエンドのキャッシュポリシーとキャッシュ・ミス(バンドルに含まれるように、通常は最後の)情報が含まれています。
optimization.runtimeChunk WebPACKの単独では、パッケージのこの部分を出てくるかどうかを指示することです。
動的導入場合を考える(インポート()を使用する)動的インポートcomponent.jsのapp.jsに使用
次いでCONSTアプリ=()=>インポート( './成分')()。
ビルドした後、3つのパッケージを生産します。
0 .01e47fe5.js
main.xxx.js
runtime.xxx.js
前記パケットを管理するためのランタイムは、アウト分割します。ここでruntimeChunkのスクリーンショットです、あなたがchunkIdこれらの事を見ることができます。
...
関数jsonpScriptSrc(chunkId){ / * **** * / 戻り __webpack_require __。P + "" +({} [chunkId] || chunkId)+ "" + { "0": "01e47fe5"} [chunkId] + ".bundle.js" / * **** * / }
...
このサブ戦略の場合
アプリは、時間と実行時(動的にロードされたコードの分離)名前を変更した場合(ハッシュ)0.01e47fe5.jsは、メイン名(ハッシュ)の変更は変更されません。
あなたがcomponent.jsを変更すると、メイン名(ハッシュ)は変化せず、ランタイムと(動的にロードされるコード)名前(ハッシュ)の変更を0.01e47fe5.js。
要約すると:
Runtime.jsファイル名は、ファイルを参照するようにmain.jsを言って、インデックスファイルの動的ファイル、フォルダ内の等価屈折率のインデックスファイルに対応します
彼らがcomponment.jsに影響を与えませんので0.01.jsとruntime.jsは変更されません生成されたときに、このようなapp.jsを変更します。
インデックスファイルrunntime.jsが変更される一方でたときは、変更する0.01.jsを結果として、変更をcomponment.js。しかし、引用main.jsはrunntime.jsは変更されませんです