With UglifyJsPlugin
我们可以处理评论、警告、控制台日志但在开发模式下删除所有这些并不是一个好主意。首先检查你是否正在运行webpack
for prod env or dev env
, 如果是prod env
然后你可以删除所有这些,如下所示:
var debug = process.env.NODE_ENV !== "production";
plugins: !debug ? [
new webpack.optimize.UglifyJsPlugin({
// Eliminate comments
comments: false,
// Compression specific options
compress: {
// remove warnings
warnings: false,
// Drop console statements
drop_console: true
},
})
]
: []
参考:https://github.com/mishoo/UglifyJS2#compressor-options https://github.com/mishoo/UglifyJS2#compressor-options
2019年更新现在需要使用 terser 插件来支持 webpack v4 中的 ES6https://github.com/webpack-contrib/terser-webpack-plugin#terseroptions https://github.com/webpack-contrib/terser-webpack-plugin#terseroptions
webpack.config.js
module.exports = {
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
sourceMap: true, // Must be set to true if using source-maps in production
terserOptions: {
compress: {
drop_console: true,
},
},
}),
],
},
};