Commit 5270edb7 authored by Mike Greiling's avatar Mike Greiling

name all webpack chunks to improve long term cacheability

parent 5c0f506d
...@@ -70,7 +70,8 @@ var config = { ...@@ -70,7 +70,8 @@ var config = {
output: { output: {
path: path.join(ROOT_PATH, 'public/assets/webpack'), path: path.join(ROOT_PATH, 'public/assets/webpack'),
publicPath: '/assets/webpack/', publicPath: '/assets/webpack/',
filename: IS_PRODUCTION ? '[name].[chunkhash].bundle.js' : '[name].bundle.js' filename: IS_PRODUCTION ? '[name].[chunkhash].bundle.js' : '[name].bundle.js',
chunkFilename: IS_PRODUCTION ? '[name].[chunkhash].chunk.js' : '[name].chunk.js',
}, },
devtool: 'cheap-module-source-map', devtool: 'cheap-module-source-map',
...@@ -131,6 +132,17 @@ var config = { ...@@ -131,6 +132,17 @@ var config = {
new webpack.NamedModulesPlugin(), new webpack.NamedModulesPlugin(),
new NameAllModulesPlugin(), new NameAllModulesPlugin(),
// assign deterministic chunk ids
new webpack.NamedChunksPlugin((chunk) => {
if (chunk.name) {
return chunk.name;
}
return chunk.modules.map((m) => {
var chunkPath = m.request.split('!').pop();
return path.relative(m.context, chunkPath);
}).join('_');
}),
// create cacheable common library bundle for all vue chunks // create cacheable common library bundle for all vue chunks
new webpack.optimize.CommonsChunkPlugin({ new webpack.optimize.CommonsChunkPlugin({
name: 'common_vue', name: 'common_vue',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment