我很难弄清楚如何使用SplitChunksPlugin将Webpack设置从v3迁移到v4。我以前进行此设置的方式是这样的:
webpack.mix.js
notifyDataSetChanged
global.js
...
entry: {
main: mainJsEntry,
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
names: ["main"],
filename: 'js/[name].js',
minChunks: Infinity
})
],
...
page1.js
const Vue = require('vue'); // this ends up in global.js
const myModule = require('global/mymodule.js'); // this is imported into global.js
page2.js
const Vue = require('vue'); // this references global.js
const anotherLibrary = require('anotherLibrary'); // this is imported into page1.js
我想做的是让global.js以外的所有Javascript包都引用从global.js导入的现有内容,但不要捆绑任何未在global.js本身内部导入的模块。
在遵循了Webpack v4的文档之后,我似乎只能使Webpack将我在其他模块中多次导入的所有内容捆绑到global.js中,但是我不想要那样。用例是,如果我希望在两页上放置一个轮播,我会在每个页面上导入,但是我不希望它在全球范围内使用,因为它在网站上100多个页面中的2个上都使用过。
const myModule = require('global/mymodule.js'); // this references global.js
const anotherLibrary = require('anotherLibrary'); // this is imported into page2.js
我希望我希望做的清楚。任何帮助表示赞赏。