javascript压缩

  Ajax除了自己要写js代码外,同样也免不了要使用其它第三方js库。当你在为提高了用户体验,做出了很绚丽的效果而欣喜的时候,是否想过优化一下js的效率,比如微软的生活,其中的js做了压缩处理. js的速度分为两种,下载速度和执行速度。今天就先来说说下载速度。要想js的下载速度快,就需要尽量减小js文件的大小。这里我们可以使用一个工具ESC(克朗彻ECMAScript)来帮我们完成这个工作,不过这个工具只能在Windows下使用。到http://www.saltstorm.net/depo/esc/introduction.wbm?pod=js下载ESC.zip,解压后看看它的帮助文档。很简单。[@more@]

压缩级别分为5种,从0到4

  

0级:没有压缩

  

1级:评论删除

  

2级:空格删除

  

三级:除换行符

  

四级:变量替换

  

在WINDOWS命令行下执行

  

  cscript ESC。wsf…噢menu2。js menu.js将会把menu.js按照级别2来压缩(默认级别为2)为menu2.js

  

  cscript ESC。wsf - l 3…噢menu3。js menu.js将会把menu.js按照级别3来压缩为menu3.js

  

需要注意的是,级别4会把变量名修改,如果你的js中用到了全局变量或者类的话,就不能使用该级别了,否则其它使用你的js的文件可能会无法正常运行。

  

试了一下,把yui的menu.js压缩了一下,对应的级别和压缩率分别如下:

  

级别1:压缩率44.41%

  

级别2:压缩率62.82%

  

级别1:压缩率64.93%

  

原来130多K的文件压缩后也就40多公里,看来还是挺有用处的。

  

  

  

另外还有一个小工具一也可以压缩,不过没有ESC的水平选项,看了一下好像压缩效果类似于ESC的level3。济南大学的一些老师写了个一的图形界面程序JsMinGUI,使用起来更加方便。:-)

  

Dojo项目组也提供了一个工具,shrinksafe可以通过http://alex.dojotoolkit.org/shrinksafe/在线的上传要压缩的文件,处理完毕后可以保存到本地,另外shrinksafe还提供了一个本地运行的版本,需要jre1.4的支持。

  

ps:对于一些压缩的代码,在阅读时可以用JavaScript代码改进剂来进行格式化。看看它主页上的一个例子:

  

原来的代码:

  

     

  

格式化后:

  

     

  

javascript压缩