一个高效的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 相关文章推荐
JqGrid web打印实现代码
May 31 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
Jun 20 Javascript
JavaScript的各种常见函数定义方法
Sep 16 Javascript
如何用js实现鼠标向上滚动时浮动导航
Jul 18 Javascript
AngularJS 所有版本下载地址
Sep 14 Javascript
谈谈因Vue.js引发关于getter和setter的思考
Dec 02 Javascript
Angularjs 动态添加指令并绑定事件的方法
Apr 13 Javascript
vue如何引入sass全局变量
Jun 28 Javascript
vue-cli构建vue项目的步骤详解
Jan 27 Javascript
Vue实现base64编码图片间的切换功能
Dec 04 Javascript
JavaScript实现简单计算器功能
Dec 19 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
Jan 26 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中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
5 cool javascript apps
2007/03/24 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
js获取某元素的class里面的css属性值代码
2014/01/16 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
JS实现关闭当前页而不弹出提示框的方法
2016/06/22 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
Vue项目环境搭建详细总结
2019/09/26 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
vue+echarts实现动态折线图的方法与注意
2020/09/01 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
python使用Berkeley DB数据库实例
2014/09/26 Python
Python求导数的方法
2015/05/09 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
全球性的在线购物网站:Zapals
2017/03/22 全球购物
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
网络体系结构及协议的定义
2014/03/13 面试题
院药学专业个人求职信
2013/09/21 职场文书
读书活动实施方案
2014/03/10 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
python使用PySimpleGUI设置进度条及控件使用
2021/06/10 Python