0
私はJSを最適化していて、1つの主要な部分に固執しています。 CommonChunksPluginを使用してベンダーバンドルを作成しても、すべてのノードモジュールは含まれていません。私はchildren: true
で別のCommonChunksPluginを使用していますが、少し上手くなりますが、すべてをvendor.jsではなくapp.jsに移動します。より頻繁に変更されるので、私はベンダーがキャッシュ可能になり、アプリが小さくなるようにしたいと思います。 ノードモジュールをアプリケーションからベンダーバンドルにどのように取得できますか?私のアナライザの出力と設定は以下の通りです。webpackを使用してノードモジュールをベンダーチャンクに移動
やプラグインのための私のWebPACKの設定は次のとおりです。
plugins: [
new webpack.ProvidePlugin({
_: "underscore"
}),
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: (module, count) => {
var context = module.context;
return count > 1 && context && context.indexOf("node_modules") !== -1
}
}),
new webpack.optimize.CommonsChunkPlugin({
children: true,
minChunks: 2
// minChunks: (module, count) => {
// var context = module.context;
// return count > 1 && context && context.indexOf("node_modules") !== -1
// }
}),
new webpack.DefinePlugin({
"process.env": {
NODE_ENV: JSON.stringify(process.env.NODE_ENV),
API_ROOT_URL: JSON.stringify(settings.api_root_url),
APP_ROOT_URL: JSON.stringify(settings.app_root_url),
PUSHER_KEY: JSON.stringify(settings.pusher_key),
}
})
]