У меня была такая же проблема (я использую webpack 4).
Моя конфигурация разделена на 3 файла: общие, dev и prod; как руководство веб-пакета объясняет ;
Чтобы зарегистрировать объединенный конфиг, вы можете сделать что-то вроде:
var merged_config = merge(common, {
mode: 'production',
module: {
rules: [
{
test: /\.less$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader',
'less-loader'
],
}
]
},
plugins: [
new MiniCssExtractPlugin()
]
});
module.exports = merged_config;
console.log(JSON.stringify(merged_config));
И, как вы можете видеть из приведенного выше кода, я переопределяю правила для генерации пакета CSS в производственном режиме. Внутри моего общего конфига, у меня есть это:
module: {
rules: [
{
test: /\.tsx?$/,
loader: 'ts-loader',
},
{
test: /\.html$/,
loader: 'raw-loader'
},
{
test: /\.less$/,
use: [
'style-loader',
'css-loader',
'less-loader'
],
}
]
},
И все работает как я ожидал!