本文汇总了多种常用的 JavaScript 代码压缩工具,包括 UglifyJS、Microsoft Ajax Minifier、Google Closure Compiler、YUI Compressor、Packer 和 JSMIN。文章详细介绍了各工具的安装方式、依赖环境及命令行参数,并提供了具体的使用示例和官方文档链接,帮助开发者选择合适的压缩方案。
UglifyJS 使用指南
UglifyJS 是一款基于 Node.js 服务器端运行的代码压缩工具,目前 jQuery 项目采用它进行压缩,且压缩效果显著。
GitHub 仓库地址:http://github.com/mishoo/UglifyJS/
在线体验地址:http://marijnhaverbeke.nl/uglifyjs
具体操作步骤如下:
- 首先从 http://nodejs.org 下载 Node.js,主要使用 node.exe 文件。
- 接着从 UglifyJS 的 GitHub 主页下载最新版本的工具。
- 将 node.exe 复制到 UglifyJS 的 bin 目录中。
- 若提示找不到 uglify-js,需修改 bin\uglifyjs 文件,将 require("uglify-js") 改为 require("../uglify-js")。
- 执行命令:node uglifyjs –o fancyValidate.min.js fancyValidate.js
注意:必须先指定 -o 参数,且 -o 参数后紧跟的是压缩后的文件名,源文件位于最后。
Microsoft Ajax Minifier
若觉得下载繁琐,可直接使用其在线版本。 Microsoft Ajax Minifier 是微软开发的代码压缩工具,支持 JavaScript 和 CSS 代码的压缩。
官方主页:http://ajaxmin.codeplex.com/
下载并安装后,使用方法简单:ajaxmin fancyValidate.js –o fancyValidate.min.js
更多参数用法请参考官方说明文档:http://ajaxmin.codeplex.com/wikipage?title=Command-Line%20Switches
Google Closure Compiler
Google Closure Compiler
这是谷歌推出的代码压缩工具,需要 JRE(可从 http://www.java.com/zh_CN/download/ 下载)支持。
官方主页:http://code.google.com/p/closure-compiler/
安装好 JRE 后,简单使用示例:java -jar compiler.jar --js hello.js --js_output_file hello-compiled.js
更多参数说明请参阅相关文档:https://developers.google.com/closure/compiler/docs/overview
YUI Compressor
YUI Compressor
由 Yahoo!UI 团队开发的代码压缩工具,支持 JavaScript 和 CSS 代码压缩,同样需要 JRE 支持。
官方主页:http://developer.yahoo.com/yui/compressor/
GitHub 仓库:https://github.com/yui/yuicompressor
从 http://yuilibrary.com/download/yuicompressor/ 下载,简单使用示例:java -jar yuicompressor-2.4.7.jar myfile.js -o myfile-min.js
更多参数说明请参考官方主页或 https://github.com/yui/yuicompressor/blob/master/doc/README
Packer 与 JSMIN
Packer
这是著名 JavaScript 专家 Dean Edwards 编写的压缩工具,具有较高的压缩比率。
官方主页:http://dean.edwards.name/packer/
虽然发布时间较早,但依然实用,并提供了多种参数设置选项。
JSMIN
与 Packer 处于同一时期,主要对注释、空白等进行压缩。
官方主页:http://www.crockford.com/javascript/jsmin
提供了 DOS 命令行版本:http://www.crockford.com/javascript/jsmin.zip
简单使用示例:jsmin <fancyValidate.js> fancyValidate.min.js
压缩前检查建议
结尾 简要介绍至此,另外在进行压缩之前最好能够使用JSLint(http://www.jslint.com/)检查代码,否则很可能导致压缩失败。
作者:囧月