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 options属性集合操作代码
Dec 28 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
Dec 24 Javascript
window.onload追加函数使用示例
Mar 03 Javascript
JQuery select(下拉框)操作方法汇总
Apr 15 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
May 03 Javascript
vue分页组件table-pagebar使用实例解析
Nov 15 Javascript
使用 bootstrap modal遇到的问题小结
Nov 09 Javascript
angular动态表单制作
Feb 23 Javascript
jquery的$().each和$.each的区别
Jan 18 jQuery
javascript的this关键字详解
May 20 Javascript
vue-router懒加载的3种方式汇总
Feb 28 Vue.js
javascript之Object.assign()的痛点分析
Mar 03 Javascript
根据邮箱的域名跳转到相应的登录页面的代码
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的面试题集,附我的答案和分析(一)
2006/11/19 PHP
php开发环境配置记录
2011/01/14 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
javascript的函数
2007/01/31 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
详解JS面向对象编程
2016/01/24 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
vue.js获取数据库数据实例代码
2017/05/26 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
微信小程序自定义波浪组件使用方法详解
2019/09/21 Javascript
python中类的一些方法分析
2014/09/25 Python
Python学习笔记之os模块使用总结
2014/11/03 Python
Python操作Excel之xlsx文件
2017/03/24 Python
python win32 简单操作方法
2017/05/25 Python
python MysqlDb模块安装及其使用详解
2018/02/23 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
基于pandas将类别属性转化为数值属性的方法
2018/07/25 Python
python定位xpath 节点位置的方法
2019/08/27 Python
python利用platform模块获取系统信息
2020/10/09 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
css3一个简易的 LED 数字时钟实现方法
2020/01/15 HTML / CSS
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
讲座主持词
2014/03/20 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
六一亲子活动总结
2014/07/01 职场文书
求职自我评价范文100字
2014/09/23 职场文书
2015年电话客服工作总结
2015/05/18 职场文书
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL