一个高效的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中对对层的控制
Dec 29 Javascript
基于prototype扩展的JavaScript常用函数库
Nov 30 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
Jun 14 Javascript
jQuery实现自动调整字体大小的方法
Jun 15 Javascript
jquery form表单获取内容以及绑定数据
Feb 24 Javascript
基于jQuery实现数字滚动效果
Jan 16 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
Sep 02 Javascript
微信小程序授权登录及解密unionId出错的方法
Sep 26 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
Jan 08 Javascript
JS如何把字符串转换成json
Feb 21 Javascript
antd Select下拉菜单动态添加option里的内容操作
Nov 02 Javascript
JavaScript中展开运算符及应用的实例代码
Jan 14 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
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
PHP生成图像验证码的方法小结(2种方法)
2016/07/18 PHP
彪哥1.1(智能表格)提供下载
2006/09/07 Javascript
jquery中获取id值方法小结
2013/09/22 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
js select option对象小结
2013/12/20 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
使用taro开发微信小程序遇到的坑总结
2019/04/08 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
Vuex实现购物车小功能
2020/08/17 Javascript
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
python基础教程之基本内置数据类型介绍
2014/02/20 Python
Python操作列表之List.insert()方法的使用
2015/05/20 Python
Python AES加密模块用法分析
2017/05/22 Python
Django添加KindEditor富文本编辑器的使用
2018/10/24 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
2020/05/29 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
La Redoute英国官网:法国时尚品牌
2017/04/27 全球购物
一站式跨境收款解决方案:Payoneer(派安盈)
2018/09/06 全球购物
国际花店:Pickup Flowers
2020/04/10 全球购物
运动会广播稿100字
2014/01/11 职场文书
通信工程专业求职信
2014/06/04 职场文书
工作保证书
2015/01/17 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python