Вместо того, чтобы выборочно минимизировать выходные блоки, я решил вообще не использовать SplitChunksPlugin и вместо этого минимизировать в пользовательском загрузчике как часть компиляции.
Это позволяет точно определить, какие входные файлы (Webpack называет их активами) вы хотите минимизировать, а какие нет.
npm install terser --save-dev
tools / es-minify-loader.js
const Terser = require('terser');
module.exports = function esMinifyLoader(source) {
const output = Terser.minify(source, { compress: true, mangle: true });
return output.code;
};
webpack.config.js
...
module: {
rules: [
{
exclude: [
/dont-minify-this-file\.js/,
/some-library-or-folder-you-dont-want-minified/i,
],
test: [
/\.js$/
],
use: [
{
loader: path.resolve(__dirname, 'tools/es-minify-loader.js'),
}
]
}
]
},
...