一个高效的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 相关文章推荐
让FireFox支持innerText的实现代码
Dec 01 Javascript
javascript定义变量时加var与不加var的区别
Dec 22 Javascript
javascript中的正则表达式使用指南
Mar 01 Javascript
JS中字符串trim()使用示例
May 26 Javascript
JS排序之快速排序详解
Apr 08 Javascript
Angular.Js之Scope作用域的学习教程
Apr 27 Javascript
js根据需要计算数组中重复出现某个元素的个数
Jan 18 Javascript
vue中@change兼容问题详解
Oct 25 Javascript
使用Vue调取接口,并渲染数据的示例代码
Oct 28 Javascript
React Hooks 实现和由来以及解决的问题详解
Jan 17 Javascript
vue-video-player视频播放器使用配置详解
Oct 23 Javascript
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
禁止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
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
php学习笔记之mb_strstr的基本使用
2018/02/03 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
js中replace的用法总结
2013/12/27 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
2016/03/01 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
2017/06/11 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
Python将8位的图片转为24位的图片实现方法
2018/10/24 Python
django query模块
2019/04/20 Python
深入了解python中元类的相关知识
2019/08/29 Python
如何删除一个表里面的重复行
2013/07/13 面试题
C#可否对内存进行直接的操作
2015/02/26 面试题
超市营业员岗位职责
2013/12/20 职场文书
汽车制造与装配专业自荐信范文
2014/01/02 职场文书
园艺师求职信
2014/03/10 职场文书
大学生活动总结怎么写
2014/04/29 职场文书
售后服务承诺书模板
2014/05/21 职场文书
中学清明节活动总结
2014/07/04 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
计划生育个人总结
2015/03/02 职场文书
道士塔读书笔记
2015/06/30 职场文书
python开发的自动化运维工具ansible详解
2021/08/07 Python
美元符号 $
2022/02/17 杂记