Я с трудом пытаюсь понять, как перенести настройки Webpack с v3 на v4 с помощью SplitChunksPlugin.То, как я настраивал это раньше, было таким:
webpack.mix.js
...
entry: {
main: mainJsEntry,
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
names: ["main"],
filename: 'js/[name].js',
minChunks: Infinity
})
],
...
global.js
const Vue = require('vue'); // this ends up in global.js
const myModule = require('global/mymodule.js'); // this is imported into global.js
page1.js
const Vue = require('vue'); // this references global.js
const anotherLibrary = require('anotherLibrary'); // this is imported into page1.js
page2.js
const myModule = require('global/mymodule.js'); // this references global.js
const anotherLibrary = require('anotherLibrary'); // this is imported into page2.js
Я пытаюсь сделать следующее:все комплекты Javascript, кроме global.js, ссылаются на существующий импорт из global.js, но не связывают ни один модуль, который не был импортирован внутри самого global.js.
После следования документации по Webpack v4 я могутолько кажется, что Webpack объединяет все, что я импортирую более одного раза в другие модули, в global.js, но я этого не хочу.Вариант использования: если я хочу использовать карусель на двух страницах, я импортирую на каждую страницу, но я не хочу, чтобы она использовалась глобально, поскольку она используется на 2 из 100+ страниц веб-сайта.
...
optimization: {
splitChunks: {
cacheGroups: {
commons: {
name: 'global',
filename: 'js/corp/global.js',
chunks: 'all',
minChunks: 2
}
}
}
},
...
Я надеюсь, что то, что я надеюсь сделать, ясно.Любая помощь приветствуется.