一个高效的JavaScript压缩工具下载集合


Posted in Javascript onMarch 06, 2007

与其他压缩工具压缩率比较: 
1. JavaScript Compressor(http://dean.edwards.name/packer/ ) 
    与他自己的压缩工具代码为例(v2.02) packer压缩后大小为 7,428 字节(去除注释)。 
    而我们的压缩工具可以压缩至7,256  字节 
     7256 / 7428 = 0.9768443726440496 
2.Dojo ShrinkSafe (粗糙的东西,既低效又危险,建议原有用户赶紧换掉) 
    与他自己的框架源代码为例(v0.4.1): 
    他自己压缩大小为149,518 字节,而我们压缩后可以缩小至81,261 字节 
     81261 / 149518 = 0.5434864029748927 

安全性说明:
 1.JavaScript Compressor  TBCompressor(YUI Compressor) 推荐
      基于文本的压缩,我没有细看其中逻辑,但是这种压缩出问题的可能性很低,我们的压缩工具也使用到他的压缩算法,在JSI 1.1 a8 及 
其集成的第三方类库的测试中,未见异常。而且还有知名框架JQuery使用,相信不会有问题。 

2.Dojo ShrinkSafe 危险!!!!! 
   使用较短的名字替换掉长的局部变量名,这是一个极其不安全的压缩工具,举例说明: 

java 代码

function(){  
  var withObject = {variable1:1}  
  var variable1 = 2;  
  with(withObject){  
    alert(variable1);  
  }  
}  

将压缩成 
java 代码

function(){  
var _1={variable1:1};  
var _2=2;  
with(_1){  
alert(_2);  
}  
}  

这明显是错误的,这个垃圾没有注意javascript某些特殊语法,和动态性。 
对eval函数,catch操作,with语句,都未作任何处理。 
相比之下JSA的是当前我知道的最安全最有效的压缩工具。 
JSA 不仅提供代码压缩功能,还可以做格式化,脚本分析。 

脚本分析功能可以用于查看脚本信息,以及查找脚本中的潜在问题。 
比如查看脚本中申明了那些函数,变量。 
使用了那些外部变量。等等。。。

JSA的压缩过程分两步,第一步是语法压缩,类似于Dojo ShrinkSafe,但比他安全,也比他有效。

第二步是文本压缩,目前采用的是
JavaScript Compressor的压缩算法。
(http://dean.edwards.name/packer/ )

这些都可以在设置窗口设置。

默认情况先用语法压缩,当文件大于1000k且采用文本压缩仍然可以压缩到原来大小90%时才在原来基础上采用文本压缩。

下载地址:
http://sourceforge.net/project/showfiles.php?group_id=175776
或者
http://forum.xidea.org文件列表

Javascript 相关文章推荐
Javascript跨域请求的4种解决方式
Mar 17 Javascript
js/jquery获取文本框输入焦点的方法
Mar 04 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
Jun 16 Javascript
Jquery中find与each方法用法实例
Feb 04 Javascript
JavaScript获取两个数组交集的方法
Jun 09 Javascript
JS显示日历和天气的方法
Mar 01 Javascript
jquery插件格式实例分析
Jun 16 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
Aug 14 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
May 08 Javascript
vue插件draggable实现拖拽移动图片顺序
Dec 01 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
Jul 24 Javascript
禁止F5等快捷键的JS代码
Mar 06 #Javascript
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
Mar 06 #Javascript
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
Mar 06 #Javascript
javascript实现划词标记+划词搜索功能
Mar 06 #Javascript
用一段js程序来实现动画功能
Mar 06 #Javascript
用javascript动态调整iframe高度的方法
Mar 06 #Javascript
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
Mar 06 #Javascript
You might like
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
JS中encodeURIComponent函数用php解码的代码
2012/03/01 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
一段批量给页面上的控件赋值js
2010/06/19 Javascript
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
JavaScript中判断整字类型最简洁的实现方法
2014/11/08 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
Angular4 Select选择改变事件的方法
2018/10/09 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
微信小程序如何加载数据库真实数据的实现
2020/03/04 Javascript
vue浏览器返回监听的具体步骤
2021/02/03 Vue.js
Python 第一步 hello world
2009/09/25 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
python中while和for的区别总结
2019/06/28 Python
python实现一个点绕另一个点旋转后的坐标
2019/12/04 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
Python中如何引入第三方模块
2020/05/27 Python
使用PyCharm安装pytest及requests的问题
2020/07/31 Python
一个SQL面试题
2014/08/21 面试题
酒店前台接待岗位职责
2013/12/03 职场文书
酒店总经理岗位职责
2014/03/17 职场文书
探亲假请假条
2014/04/11 职场文书
售房协议书范本2014
2014/10/23 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书
写好求职信的技巧解密
2019/05/14 职场文书