2014-12-22 19:33:40 +08:00
|
|
|
var path = require("path");
|
|
|
|
|
var CommonsChunkPlugin = require("../../lib/optimize/CommonsChunkPlugin");
|
2017-02-06 18:17:08 +08:00
|
|
|
var outputOptions = {
|
|
|
|
|
path: path.join(__dirname, "js"),
|
|
|
|
|
filename: "[name].bundle.js",
|
|
|
|
|
chunkFilename: "[id].chunk.js"
|
|
|
|
|
};
|
|
|
|
|
module.exports = [{
|
|
|
|
|
name: "page",
|
2014-12-22 19:33:40 +08:00
|
|
|
entry: {
|
2017-02-06 18:17:08 +08:00
|
|
|
page: "./page"
|
2014-12-22 19:33:40 +08:00
|
|
|
},
|
2017-02-06 18:17:08 +08:00
|
|
|
output: outputOptions
|
|
|
|
|
}, {
|
|
|
|
|
name: "pageA",
|
|
|
|
|
entry: {
|
|
|
|
|
pageA: "./page"
|
2014-12-22 19:33:40 +08:00
|
|
|
},
|
2017-02-06 18:17:08 +08:00
|
|
|
output: outputOptions,
|
2014-12-22 19:33:40 +08:00
|
|
|
plugins: [
|
2017-01-24 12:59:17 +08:00
|
|
|
//check for common modules in children of pageA and move them to the parent
|
2015-10-31 23:31:10 +08:00
|
|
|
new CommonsChunkPlugin({
|
|
|
|
|
name: "pageA",
|
|
|
|
|
children: true
|
|
|
|
|
}),
|
2017-02-06 18:17:08 +08:00
|
|
|
]
|
|
|
|
|
}, {
|
|
|
|
|
name: "pageB",
|
|
|
|
|
entry: {
|
|
|
|
|
pageB: "./page"
|
|
|
|
|
},
|
|
|
|
|
output: outputOptions,
|
|
|
|
|
plugins: [
|
2014-12-22 19:33:40 +08:00
|
|
|
// the same for pageB but move them if at least 3 children share the module
|
2015-10-31 23:31:10 +08:00
|
|
|
new CommonsChunkPlugin({
|
|
|
|
|
name: "pageB",
|
|
|
|
|
children: true,
|
|
|
|
|
minChunks: 3
|
|
|
|
|
}),
|
2017-02-06 18:17:08 +08:00
|
|
|
]
|
|
|
|
|
}, {
|
|
|
|
|
name: "pageC",
|
|
|
|
|
entry: {
|
|
|
|
|
pageC: "./page"
|
|
|
|
|
},
|
|
|
|
|
output: outputOptions,
|
|
|
|
|
plugins: [
|
2014-12-22 19:33:40 +08:00
|
|
|
// the same for pageC and pageD but with a custom logic for moving
|
2015-10-31 23:31:10 +08:00
|
|
|
new CommonsChunkPlugin({
|
2017-02-06 18:17:08 +08:00
|
|
|
name: "pageC",
|
2015-10-31 23:31:10 +08:00
|
|
|
children: true,
|
|
|
|
|
minChunks: function(module, count) {
|
|
|
|
|
// move only module "b"
|
2017-02-06 18:17:08 +08:00
|
|
|
return !/b\.js/.test(module.identifier());
|
2015-10-31 23:31:10 +08:00
|
|
|
}
|
2014-12-22 19:33:40 +08:00
|
|
|
})
|
|
|
|
|
]
|
2017-02-06 18:17:08 +08:00
|
|
|
}];
|