一个高效的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里的条件判断
Feb 27 Javascript
JSON 客户端和服务器端的格式转换
Aug 27 Javascript
jQuery 遍历json数组的实现代码
Sep 22 Javascript
将Datatable转化成json发送前台实现思路
Sep 06 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
Jan 02 Javascript
简单方法判断JavaScript对象为null或者属性为空
Sep 26 Javascript
vue.js组件vue-waterfall-easy实现瀑布流效果
Aug 22 Javascript
node.js使用redis储存session的方法
Sep 26 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
Jan 18 Javascript
JavaScript正则表达式验证登录实例
Mar 18 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
May 20 Javascript
vue实现页面切换滑动效果
Jun 29 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
一个好用的分页函数
2006/11/16 PHP
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
thinkphp3.2.0 setInc方法 源码全面解析
2018/01/29 PHP
解javascript 混淆加密收藏
2009/01/16 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
jQuery修改class属性和CSS样式整理
2015/01/30 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
vue组件详解之使用slot分发内容
2018/04/09 Javascript
Paypal支付不完全指北
2020/06/04 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
谈谈Python中的while循环语句
2019/03/10 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
自动化专业本科毕业生求职信
2013/10/20 职场文书
卫校毕业生自我鉴定
2013/10/31 职场文书
英语专业个人求职信范文
2014/02/01 职场文书
新教师培训方案
2014/06/08 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
2014年文秘工作总结
2014/11/25 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书
2015年度女工工作总结
2015/10/22 职场文书
详解用Python把PDF转为Word方法总结
2021/04/27 Python
python前后端自定义分页器
2022/04/13 Python