Я пытаюсь использовать параметр multi-compiler в webpack и следую example в своем github. Однако я не могу понять, как я могу разделить общий код среди множества конфигураций.
Например, у меня могут быть одинаковые библиотеки поставщиков, используемые в разных наборах конфигураций. Я хотел бы, чтобы эти общие коды были объединены в один общий файл.
Я попробовал следующее, но в итоге создал отдельные пакеты записи vendors
для каждой конфигурации компиляции.
var path = require("path");
var webpack = require("webpack");
module.exports = [
{
name: "app-mod1",
entry: {
vendors: ['jquery', 'react', 'react-dom'],
pageA: ['./mod1/pageA'],
pageB: ['./mod1/pageB']
},
output: {
path: path.join(__dirname, "/mod1/js"),
filename: "[name].bundle.js"
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
names: ['vendors'],
minChunks: Infinity
})
]
},
{
name: "app-mod2",
entry: {
vendors: ['lodash', 'react', 'react-dom'],
pageA: ['./mod2/pageA'],
pageB: ['./mod2/pageB']
},
output: {
path: path.join(__dirname, "/mod2/js"),
filename: "[name].bundle.js"
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
names: ['vendors'],
minChunks: Infinity
})
]
}
];
Так как реакция, реакция-достояние разделяются между двумя компиляциями, я намерен их объединить в виде одного файла, который может быть общим, вместо того, чтобы создавать один и тот же комплект для каждой компиляции.
Как я могу извлечь общие куски из нескольких конфигураций компилятора?