目录

有赞logo

FastUglifyJsPlugin

介绍

兼容webpack 2

生产环境的构建,uglify过程占了70%左右的时间,是一个非常耗时的过程。相对于webpack原生UglifyJsPlugin,FastUglifyJsPlugin增加了多进程和缓存。多进程可以最大限度的利用多核cpu的计算能力,缓存可以按需编译,减少不必要的计算。以下是一组性能测试数据,FastUglifyJsPlugin的性能提升非常明显。

插件 耗时
webpack.optimize.UglifyJsPlugin 7.4 min
FastUglifyJsPlugin without cache 4.45 min
FastUglifyJsPlugin with cache 36 s

测试样本:29 entry,2615 modules

测试环境:MacBook Pro,4核cpu,8g内存

安装

npm i fast-uglifyjs-plugin --save

# or 

yarn add fast-uglifyjs-plugin

配置

FastUglifyJsPlugin基于webpack.optimize.UglifyJsPlugin修改,用法和webpack.optimize.UglifyJsPlugin完全一样,只是增加了几个额外的配置参数。

var FastUglifyJsPlugin = require('fast-uglifyjs-plugin');

module.exports = {
    entry: {...},
    output: {...},
    plugins: [new FastUglifyJsPlugin({
        compress: {
            warnings: false
        },
        // debug设为true可输出详细缓存使用信息:
        debug: true,
        // 默认开启缓存,提高uglify效率,关闭请使用:
        cache: false,
        // 默认缓存路径为项目根目录,手动配置请使用:
        cacheFolder: path.resolve(__dirname, '.otherFolder'),
        // 工作进程数,默认os.cpus().length
        workerNum: 2
    })]
};

开源协议

本项目基于 MIT 协议,请自由地享受和参与开源。

关于
84.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802032778号