覆盖 Webpack 4.25.1 在生产模式下对 Uglify 的使用
Override Webpack 4.25.1's use of Uglify in production mode
根据文档,当module.exports = { mode: 'production' }
时,它默认使用UglifyJS:
https://webpack.js.org/concepts/mode/#mode-production
据我了解,此库已被废弃,"full of bugs"。推荐使用terser
代替:
https://github.com/terser-js/terser
如何覆盖此特定插件的默认使用 mode: 'production'
?将 terser
添加到 plugins: []
就足够了吗?
好的,在文档中找到了答案:
optimization.minimzer
Allows you to override the default minimizer by providing a different one or more customized UglifyjsWebpackPlugin instances.
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
//...
optimization: {
minimizer: [
new UglifyJsPlugin({ /* your config */ })
]
}
};
您只需将所有 UglifyJsPlugin
内容替换为 terser
:
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
//...
optimization: {
minimizer: [new TerserPlugin()]
}
};
https://webpack.js.org/configuration/optimization/#optimization-minimizer
根据文档,当module.exports = { mode: 'production' }
时,它默认使用UglifyJS:
https://webpack.js.org/concepts/mode/#mode-production
据我了解,此库已被废弃,"full of bugs"。推荐使用terser
代替:
https://github.com/terser-js/terser
如何覆盖此特定插件的默认使用 mode: 'production'
?将 terser
添加到 plugins: []
就足够了吗?
好的,在文档中找到了答案:
optimization.minimzer
Allows you to override the default minimizer by providing a different one or more customized UglifyjsWebpackPlugin instances.
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
//...
optimization: {
minimizer: [
new UglifyJsPlugin({ /* your config */ })
]
}
};
您只需将所有 UglifyJsPlugin
内容替换为 terser
:
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
//...
optimization: {
minimizer: [new TerserPlugin()]
}
};
https://webpack.js.org/configuration/optimization/#optimization-minimizer