一个高效的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面向对象的方式实现的弹出层效果代码
Jan 28 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
Apr 19 Javascript
AngularJS 表达式详细讲解及实例代码
Jul 26 Javascript
JS扩展类,克隆对象与混合类实例分析
Nov 26 Javascript
JS异步加载的三种实现方式
Mar 16 Javascript
vue绑定事件后获取绑定事件中的this方法
Sep 15 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
Feb 02 Javascript
vue的keep-alive中使用EventBus的方法
Apr 23 Javascript
vue项目中常见问题及解决方案(推荐)
Oct 21 Javascript
如何基于原生javaScript生成带图片的二维码
Nov 21 Javascript
jquery实现垂直手风琴导航栏
Feb 18 jQuery
Vue页面手动刷新,实现导航栏激活项还原到初始状态
Aug 06 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中array_map与array_column之间的关系分析
2014/08/19 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
深入理解PHP内核(一)
2015/11/10 PHP
JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码
2013/01/23 Javascript
js判断字符长度以及中英文数字等
2013/12/31 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
Bootstrap 布局组件(全)
2016/07/18 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
详解nuxt路由鉴权(express模板)
2018/11/21 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
Python程序员鲜为人知但你应该知道的17个问题
2014/06/04 Python
举例讲解Python中装饰器的用法
2015/04/27 Python
Python字符串拼接的几种方法整理
2017/08/02 Python
python中csv文件的若干读写方法小结
2018/07/04 Python
python中aioysql(异步操作MySQL)的方法
2019/04/11 Python
一篇文章弄懂Python中所有数组数据类型
2019/06/23 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
超级实用的8个Python列表技巧
2020/08/24 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
EJB的基本架构
2016/09/22 面试题
大专生毕业的自我评价
2014/02/06 职场文书
风险评估实施方案
2014/03/09 职场文书
党员干部承诺书范文
2014/03/25 职场文书
大学开学计划书
2014/04/30 职场文书
入党群众意见范文
2015/06/02 职场文书
如何写观后感
2015/06/19 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang
使用feign服务调用添加Header参数
2021/06/23 Java/Android
Python中的datetime包与time包包和模块详情
2022/02/28 Python
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android