JavaScript 代码压缩工具小结


Posted in Javascript onFebruary 27, 2012

UglifyJS

UglifyJS是构建于nodeJS服务器端之上的一个代码压缩工具,目前jQuery使用它来压缩,压缩效果比较好。

GitHub主页:http://github.com/mishoo/UglifyJS/

在线使用:http://marijnhaverbeke.nl/uglifyjs

使用方法:

  1. 从http://nodejs.org下载nodejs,用到的是node.exe
  2. 再从UglifyJS的GitHub主页下载它的最新版本
  3. 复制node.exe到UglifyJS的bin目录
  4. 修改bin\uglifyjs,把require("uglify-js")改成require("../uglify-js"),假如提示找不到uglify-js的话
  5. 运行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

谷歌出品的代码压缩工具,需要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

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

著名的js大牛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/)检查代码,否则很可能导致压缩失败。

作者:?逶

Javascript 相关文章推荐
javascript中强制执行toString()具体实现
Apr 27 Javascript
浅析jQuery中常用的元素查找方法总结
Jul 04 Javascript
jQuery实现html表格动态添加新行的方法
May 28 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
Dec 04 Javascript
jquery插件jquery.confirm弹出确认消息
Dec 22 Javascript
动态更新highcharts数据的实现方法
May 28 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
Aug 08 Javascript
JS调用打印机功能简单示例
Nov 28 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
Dec 18 Javascript
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
Dec 07 Javascript
vue移动端实现下拉刷新
Apr 22 Javascript
vue 使用饿了么UI仿写teambition的筛选功能
Mar 01 Vue.js
根据邮箱的域名跳转到相应的登录页面的代码
Feb 27 #Javascript
设置iframe的document.designMode后仅Firefox中其body.innerHTML为br
Feb 27 #Javascript
jQuery学习笔记之控制页面实现代码
Feb 27 #Javascript
JQuery获取浏览器窗口内容部分高度的代码
Feb 24 #Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
Feb 23 #Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
Feb 23 #Javascript
js前台判断开始时间是否小于结束时间
Feb 23 #Javascript
You might like
PHP开发负载均衡指南
2010/07/17 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
2014/07/27 Javascript
Node.js插件的正确编写方式
2014/08/03 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
2019/09/23 Javascript
js回调函数仿360开机
2019/12/26 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
详解Python如何生成词云的方法
2018/06/01 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
linux下安装python3和对应的pip环境教程详解
2019/07/01 Python
python实现的读取网页并分词功能示例
2019/10/29 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
CSS3 实现的火焰动画
2020/12/07 HTML / CSS
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
英国最大的天然和有机产品在线零售商之一:Big Green Smile
2020/05/06 全球购物
工程专业毕业生自荐信范文
2013/12/25 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
导师推荐信范文
2014/05/09 职场文书
四风查摆问题及整改措施
2014/10/10 职场文书
求职自我评价范文
2015/03/09 职场文书
环保建议书作文500字
2015/09/14 职场文书
2016年端午节校园广播稿
2015/12/18 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
Mysql存储过程、触发器、事件调度器使用入门指南
2022/01/22 MySQL