Only load Intl data for current language (#3130)
* Only load Intl data for current language * Extract common chunk only from application.js and public.js * Generate locale packs, avoid caching on window object
This commit is contained in:
parent
73e4468ff3
commit
9d04de1c8d
7 changed files with 90 additions and 139 deletions
|
@ -10,15 +10,20 @@ const ExtractTextPlugin = require('extract-text-webpack-plugin');
|
|||
const ManifestPlugin = require('webpack-manifest-plugin');
|
||||
const extname = require('path-complete-extname');
|
||||
const { env, paths, publicPath, loadersDir } = require('./configuration.js');
|
||||
const localePackPaths = require('./generateLocalePacks');
|
||||
|
||||
const extensionGlob = `**/*{${paths.extensions.join(',')}}*`;
|
||||
const packPaths = sync(join(paths.source, paths.entry, extensionGlob));
|
||||
const entryPacks = [].concat(packPaths).concat(localePackPaths);
|
||||
|
||||
module.exports = {
|
||||
entry: packPaths.reduce(
|
||||
entry: entryPacks.reduce(
|
||||
(map, entry) => {
|
||||
const localMap = map;
|
||||
const namespace = relative(join(paths.source, paths.entry), dirname(entry));
|
||||
let namespace = relative(join(paths.source, paths.entry), dirname(entry));
|
||||
if (namespace === '../../../tmp/packs') {
|
||||
namespace = ''; // generated by generateLocalePacks.js
|
||||
}
|
||||
localMap[join(namespace, basename(entry, extname(entry)))] = resolve(entry);
|
||||
return localMap;
|
||||
}, {}
|
||||
|
@ -41,7 +46,15 @@ module.exports = {
|
|||
new ManifestPlugin({ fileName: paths.manifest, publicPath, writeToFileEmit: true }),
|
||||
new webpack.optimize.CommonsChunkPlugin({
|
||||
name: 'common',
|
||||
minChunks: 2,
|
||||
minChunks: (module, count) => {
|
||||
if (module.resource && /node_modules\/react-intl/.test(module.resource)) {
|
||||
// skip react-intl because it's useless to put in the common chunk,
|
||||
// e.g. because "shared" modules between zh-TW and zh-CN will never
|
||||
// be loaded together
|
||||
return false;
|
||||
}
|
||||
return count >= 2;
|
||||
},
|
||||
}),
|
||||
],
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue