新的安装方式见Windows下使用NodeJS和npm安装UglifyJS对JavaScript进行压缩或美化
UglifyJS是一个非常好的js的压缩工具,会进行如下的代码压缩:
- foo[“bar”] ==> foo.bar
- 删除{}块
- var a = 10; var b = 20; ==> var a=10,b=20;
- 1 +2 * 3 ==> 7
- 连续的代码块会合并成一个
- if (foo) bar(); else baz(); ==> foo?bar():baz();
- if (!foo) bar(); else baz(); ==> foo?baz():bar();
- if (foo) bar(); ==> foo&&bar();
- if (!foo) bar(); ==> foo||bar();
- if (foo) return bar(); else return baz(); ==> return foo?bar():baz();
- if (foo) return bar(); else something(); ==> {if(foo)return bar();something()}
- 删除一些无法访问的代码
但是UglifyJS是建立在Node.js上的,而Node只有Linux的版本,所以我们只能在Cygwin中模拟Linux的环境。
之前的两篇文章是转载的,实际操作后发现却不行,在Cygwin环境下Node.js很难编译过。
所以花费了一天的时间做了这个安装包,安装好Cygwin之后直接将打包的文件覆盖到安装目录就可以了。
一、下载并安装Cygwin,点击这里下载。一路Next等待安装完成。
二、下载文件解压到安装Cygwin的目录中。
好了到这里就算安装完成了,下面做下测试:
在 home/用户名/ 下面创建一个js,名称为aaa.js内容为:
function test(sss, yyy)
{
///test
if(sss > yyy)
{
return sss;
}
else
return yyy;
}
压缩js方式如下:
运行Cygwin,输入 uglifyjs aaa.js > aaa.min.js 会生成一个aaa.min.js文件,内容如下:
function test(a,b){return a>b?a:b}
js美化方式如下:
输入 uglifyjs –b aaa.min.js > aaa.b.js 会生成一个aaa.b.js文件,内容如下:
function test(a, b) {
return a > b ? a : b;
}