webpack.optimize.cmons ChunkPluginのminChunks解析

1450 ワード

Commons ChunkPluginは、その名の通り、共通モジュールを一緒に包装するためのプラグインであり、パッケージ化後のjsファイルの体積を減らすために使用されます.
魅惑のミニChunks
中国語コミュニティと公式サイトはいずれもこの属性の語弊について不明である.
まず、minChunksのChunkとはどういう意味ですか?
…a separate file(known as a chunk)
entry属性の値を対象とする場合、複数の入り口のファイルとして、一つずつchunkという意味です.
chunkの定義を理解しました.また公式サイトのminChunksに対する説明を見てみます.
minChunks:
number𞓜Infinity|function(module,count)->ブックレン、
//The
minimum number of chunk s which need to contain a module before it's moved into the commons chunk.
//The number must be greater than or equal 2 and lower than or equal to the number of chunks.
//PassingInfinity just creates the commons chunk、but movesのmodules into it.
//By providing afunction you can add custom logic.(Defaults to the number of chunks)
注目すべき額は、minChunksのnumber値です.公式サイトの説明はよく分かりません.共通のchunksに置かれる前にモジュールを含むchunksの最小数が必要です.これはどういう意味ですか?洋文が上手な人が訳してくれますか?
minChunks:number
minChunksの値がnumberの場合、どのような効果がありますか?私がテストした結果、minChunksはあるモジュールが少なくともどれぐらいの入り口ファイルに依存されているかを確認しました.minChunks設定に等しい値より大きい場合、このモジュールはパブリックパケットに包装される.この値より小さい場合、このモジュールは各入り口ファイルと一緒に包装されます.
例えば、8つのエントランスファイルがあります.ミニChunks値は7です.あるモジュールが6つのエントランスファイルに依存していても、このモジュールは6回包装されます.彼に依存するファイルには同じコードがあります.
minChunks:Infinity
minChunksのnumber属性を知ると、Infinity属性がよく分かります.つまり依存するモジュールを取り出して包装して共用することはないです.
minChunks標準値
この属性を無視すると、すべての入り口ファイルに依存している場合にのみ、対応するモジュールが抽出されます.
レベルが限られていて、言い間違えました.