本文介绍的是常见的3种工具的使用说明情况。
三种工具为:
1.Google Closure Compiler(本文简称GCC,下文同样)
官网:https://developers.google.com/closure/compiler/
Google出品的JS代码压缩/混淆工具。目前微信插件使用的就是GCC.
2.Yahoo Yui Compressor(本文简称Yui,下文同样)
官网:http://yui.github.io/yuicompressor/
Yahoo出品的JS代码压缩工具。
3.UglifyJS
官网:http://lisperator.net/uglifyjs/
开源项目。
下面介绍一下以上三种工具各自的使用情况:
一、GCC
有三种压缩模式,分别为”Whitespace only”,”Simple”,”Advanced”。
有三种运行方式,分别为”Closure Compiler Service UI”,”Closure Compiler Service API”,”Closure Compiler Application”。
(1)、三种压缩模式介绍
1)、”Whitespace only”:只是简单的去除空格换行注释。
2)、”Simple”:比”Whitespace only”更高端一点,在其基础上,还对局部变量的变量名进行缩短。这也是其他压缩工具所使用的压缩方式,如UglifyJS等,也是最为主流的压缩方式。比较安全。
3)、”Advanced”:”Advanced”级别的压缩改变(破坏)了原有代码结构,直接输出代码最终运行结果,而且这种级别的压缩还会删除未调用的函数代码。可见的确是分析,重写,破坏,但是对代码压缩做到了极致,极大的减少了代码量。
注意:正因为GCC是这样的破坏性压缩工具,所以使用起来得异常小心,书写要求严格,稍微不规范可能就会引起压缩报错或者压缩成功后却不能正常运行。
因为”Advanced”压缩缩短了变量名,使得一些对象的属性名发生改变,从而无法在使用该属性问题。解决办法是声明该属性时用括号括起来,例:
var data={
‘user’:’binning’,
‘age’:’18’
}
(2)、三种运行方式介绍
1)、”Closure Compiler Service UI”:GCC提供的在线压缩方式,只需导入文件路径或是直接复制粘贴文件内容,即可实现压缩。在线压缩网站为:http: