После еще нескольких раскопок я в конце концов понял это.По сути, это то, что вам нужно:
Прежде всего, в объекте output
...
output: {
filename: "[name].js"
}
Вам нужна переменная [name]
, иначе ваши пакеты не будут выбраныдо правильных имен.
Далее, в объекте optimization
...
optimization: {
splitChunks: {
cacheGroups: {
react: {
chunks: 'initial',
name: 'react',
test: /node_modules\/react/,
enforce: true,
},
vendor: {
chunks: 'initial',
name: 'vendor',
test: /node_modules\/(?!react)/,
enforce: true,
},
icons: {
chunks: 'initial',
name: 'icons',
test: /src\/js\/components\/icons/,
enforce: true,
},
},
},
},
В результате получаются следующие пакеты:
react.js
vendor.js
icons.js
bundle.js