Node+UglifyJS批量压缩js

Node+UglifyJS批量压缩js

WEB前端 JS开发Nodejs学习 2016年11月18日

在前面PHP程序员雷雪松的博客中已经介绍了《WEB前端开发优化技巧》。JS文件压缩似乎成了最基础的优化药店之一了。现在JS使用的频率越来越高,JS文件越来越大,压缩所带来的性能提升也是越来越明显,下面PHP程序员雷雪松就详细介绍下如何使用NodeJs和UglifyJS来压缩JS代码。

1、Uglifyjs简介
UglifyJS 是一个Javascript开发的通用的语法分析、代码压缩、代码优化的一个工具包。

2、UglifyJS安装,在NodeJS环境下使用npm全局安装UglifyJS

1

npm install uglify-js -g

参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

* source-map [string],生成source map文件。
* –source-map-root [string], 指定生成source map的源文件位置。
* –source-map-url [string], 指定source map的网站访问地址。
* –source-map-include-sources,设置源文件被包含到source map中。
* –in-source-map,自定义source map,用于其他工具生成的source map。
* –screw-ie8, 用于生成完全兼容IE6-8的代码。
* –expr, 解析一个表达式或JSON。
* -p, –prefix [string], 跳过原始文件名的前缀部分,用于指定源文件、source map和输出文件的相对路径。
* -o, –output [string], 输出到文件。
* -b, –beautify [string], 输出带格式化的文件。
* -m, –mangle [string], 输出变量名替换后的文件。
* -r, –reserved [string], 保留变量名,排除mangle过程。
* -c, –compress [string], 输出压缩后的文件。
* -d, –define [string], 全局定义。
* -e, –enclose [string], 把所有代码合并到一个函数中,并提供一个可配置的参数列表。
* –comments [string], 增加注释参数,如@license、@preserve。
* –preamble [string], 增加注释描述。
* –stats, 显示运行状态。
* –acorn, 用Acorn做解析。
* –spidermonkey, 解析SpiderMonkey格式的文件,如JSON。
* –self, 把UglifyJS2做为依赖库一起打包。
* –wrap, 把所有代码合并到一个函数中。
* –export-all, 和–wrap一起使用,自动输出到全局环境。
* –lint, 显示环境的异常信息。
* -v, –verbose, 打印运行日志详细。
* -V, –version, 打印版本号。
* –noerr, 忽略错误命令行参数。

3、Uglifyjs压缩JS,例如将customize.js压缩输出到customize-min.js文件中

1

uglifyjs customize.js -m -o customize-min.js

4、对文件夹下面的所有JS文件压缩,windows使用bat批处理,linux可以使用shell,或者直接利用Node下面的fs模块。
Windows下面的bat处理脚本。(注意:备份原JS文件,压缩的JS文件会直接替换原JS文件)

1
2
3
4
5
6
7
8
9
10

@echo off
:: 设置压缩JS文件的根目录,会自动压缩所有的JS文件
SET JSFOLDER=D:\javascript
chdir /d %JSFOLDER%
for /r . %%a in (*.js) do (
@echo 正在压缩 %%~a ...
uglifyjs %%~fa -m -o %%~fa
)
echo 完成!
pause & exit

 

转自:https://www.leixuesong.cn/2831

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值