JavaScript 压缩

 

    现在伴随在RIA客户端广泛使用,越来越多的功能被提交到前端来实现。往往一个普通的Application,客户端就需要加载许多资源,包括:JS代码、图片、CSS文件等等,这会大大占用网络带宽,页面速度下降。

     这里介绍的是Javascript代码的压缩。压缩的过程主要包括:Javascript代码物理压缩 传输压缩。

     1、代码压缩

   网络上有许多在线的压缩工具,但是有些情况下压缩以后不能正常使用。笔者就遇到这样的情况,如:基于Mircosoft Ajax Library开发的JavaScript类库。 所以这里使用的是Dojo中的ShrinkSafe工具。

ShrinkSafe 1.4.2  工具下载   >>> 

 具体使用说明

A、首先确保安装了JDK,最好是>=1.6版本的。

B、 使用cmd将当前路径cdShrinkSafe工具包中的shrinksafe.jar目录下,如笔者是在:>E:\shrinksafe\shrinksafe1.4.2>

C、 如下格式运行压缩命令:java -jar shrinksafe.jar

inputJs1.js [空格] inputJs2.js …… inputJsN.js  >outputCompassedJs.js 

如笔者例子为:java -jar -Dfile.encoding=UTF8 shrinksafe.jar ..\javascript1\ESRI.DClient.DLayers.js>..\javascript2\ESRI.DClient.DLayers.js

      压缩效果

  压缩前 ESRI.DClient.DLayers.js文件大小为 129K,压缩后ESRI.DClient.DLayers.js文件大小为 72K,其压缩比为:72/12955.8% ,笔者是基于Ms Ajax Lib开发的类库,如果是普通的js文件压缩比会更低,大概在48%左右。

 

其他Javascript压缩工具:

IYahooYUI Compressor[2010-11-19最新版为:2.4.2]

      http://yuilibrary.com/downloads/download.php?file=2a526a9aedfe2affceed1e1c3f9c0579

   使用方法:

       类似于DojoShrinkSafe,命令行输入:>java -jar yuicompressor-2.4.2.jar input.js -o output.js

      

 

2、传输压缩

     一般的web程序走的是HTTP协议,我们这里讨论的HTTP协议为GZip压缩方式。

 

      <未完待续……>

 

 

posted @ 2010-11-19 10:47  爱图--UpdooGIS  阅读(1098)  评论(0编辑  收藏  举报