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 相关文章推荐
extJs 常用到的增,删,改,查操作代码
Dec 28 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
Dec 19 Javascript
jquery及原生js获取select下拉框选中的值示例
Oct 25 Javascript
JS简单实现元素复制示例附图
Nov 19 Javascript
获取select元素被选中的文本内容的js代码
Jan 29 Javascript
jquery的clone方法应用于textarea和select的bug修复
Jun 26 Javascript
jQuery实现图片向左向右切换效果的简单实例
May 18 Javascript
正则表达式(语法篇推荐)
Jun 24 Javascript
Vue.js路由vue-router使用方法详解
Mar 20 Javascript
security.js实现的RSA加密功能示例
Jun 06 Javascript
vee-validate vue 2.0自定义表单验证的实例
Aug 28 Javascript
详解Vue3使用axios的配置教程
Apr 29 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水印
2007/03/16 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
jquery 弹出层实现代码
2009/10/30 Javascript
javascript 哈希表(hashtable)的简单实现
2010/01/20 Javascript
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
2011/05/24 Javascript
Prototype的Class.create函数解析
2011/09/22 Javascript
页面右下角弹出提示框示例代码js版
2013/08/02 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
js事件处理程序跨浏览器解决方案
2016/03/27 Javascript
详细谈谈AngularJS的子级作用域问题
2016/09/05 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
[02:56]《DAC最前线》之国外战队抵达上海备战亚洲邀请赛
2015/01/28 DOTA
web.py中调用文件夹内模板的方法
2014/08/26 Python
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
python 网络编程详解及简单实例
2017/04/25 Python
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
python安装requests库的实例代码
2019/06/25 Python
python实现126邮箱发送邮件
2020/05/20 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
三年大学自我鉴定
2014/01/16 职场文书
加入学生会演讲稿
2014/04/24 职场文书
课外科技活动总结
2014/08/27 职场文书
个人收入证明范本
2014/09/18 职场文书
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL