WebPACKのバージョン
2.2.1webpack2 CommonsChunkPluginマニフェストファイルで、唯一minChunksが機能
であれば、私は追加のmanifest
ファイルを追加しようとしている「名[]」配列の最後のファイルを生成しますオーダーwebpacksランタイムコードインジェクションの問題を回避し、キャッシュを有効にするには:
https://webpack.js.org/guides/code-splitting-libraries/#manifest-file
ただし、この場合には、minChunksに関数を渡すとき - 順番にすると、自動的にすべてのファイルを取得しますアレイ(マニフェスト、以下の例で)生成された唯一の最後のファイル: - vendor.jsチャンク内部node_modules
にあるその予期しない結果をもたらすであろう。
webpack.config.js出力
3つのファイルが予想
entry: {
bundle: "./src/index.tsx",
},
output: {
filename: "[name].js?[chunkhash]",
path: `${projectRoot}/dist`
},
plugins: [new webpack.optimize.CommonsChunkPlugin({
names: ['vendor', 'manifest'],
minChunks: function (module) {
return module.context && module.context.indexOf('node_modules') !== -1;
}
})]
:bundle.js、vendor.jsとmanifest.js
実際の出力
2ファイル:バンドル.js、manifest.js
は、まさに私が必要なもの - 感謝を! どのようにこの結論に来ましたか?私はあらゆる種類のドキュメントを無駄に閲覧してきました。 – silicakes
はい、ドキュメントはあまり良くありません。私は問題の解決策を見つけるためにプラグインコードを掘り下げた。 –
これは私にとってもうまくいった。また、上記の2つの間に new webpack.optimize.CommonsChunkPlugin({ 子:true })、 を追加しました。この移動により、モジュールが子チャンクからメインバンドルに共有されました。これは、非同期ルートまたはコード分割を使用している場合に違いがあります。 –