UglifyJS Webpack Plugin
插件用来缩小(压缩优化)js文件,至少需要Node v6.9.0和Webpack v4.0.0版本
。
webpack 4
之前的版本是通过webpack.optimize.CommonsChunkPlugin
来压缩js,webpack 4
版本之后被移除了,使用config.optimization.splitChunks
来代替。
基本配置
//webpack.config.js
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
optimization: {
minimizer: [new UglifyJsPlugin()],
},
};
options配置项
//webpack.config.js
module.exports = {
optimization: {
minimizer: [
new UglifyJsPlugin({
test: /\.js(\?.*)?$/i, //测试匹配文件,
include: /\/includes/, //包含哪些文件
excluce: /\/excludes/, //不包含哪些文件
//允许过滤哪些块应该被uglified(默认情况下,所有块都是uglified)。
//返回true以uglify块,否则返回false。
chunkFilter: (chunk) => {
// `vendor` 模块不压缩
if (chunk.name === 'vendor') {
return false;
}
return true;
}
}),
cache: false, //是否启用文件缓存,默认缓存在node_modules/.cache/uglifyjs-webpack-plugin.目录
parallel: true, //使用多进程并行运行来提高构建速度
],
},
};
sourceMap:cheap-source-map选项不适用于此插件
//webpack.config.js
module.exports = {
optimization: {
minimizer: [
new UglifyJsPlugin({
sourceMap: true,
}),
],
},
};
更多用法参考如下官方文档:
https://www.npmjs.com/package/uglifyjs-webpack-plugin