javascript 壓縮工具Dojo compressor

作者: 核桃博客 |

本文 網址 :http://www.hetaoblog.com/javascript-compressor-dojo-compressor/

 

關於javascript壓縮工具,在之前的網 站性能優化工具-javascript壓縮工具JSMin 中介紹過一個javascript(js)壓縮工具JSMin, 昨天在

javascript 壓縮工具-YUI-compressor 介紹了YUI compressor,

這裏,再介紹一個同樣流行的javascript壓縮工具Dojo compressor,;該工具由著名的Dojo項目組出品;

Dojo compressor也是用java寫的,運行這個同樣需要JRE環境:
到這個地址下載Dojo compressor

http://o.dojotoolkit.org/docs/shrinksafe

兩個jar完成了該功能:

shrinksafe.jar和Rhino [在 dojo的網站上目前鏈接了Rhino 1.7R1版本]

下載後,解壓,到build目錄下,在安裝好JRE環境後,在命令行下輸入:

java -jar shrinksafe.jar infile.js > outfile.js

input.js就是你需要壓縮的js源文件,output.js就是需要的輸出文件,

這時,就會輸出output.js;

我以在之前網 站性能優化工具-javascript壓縮工具JSMin 中使用的JSMin的官方網站的樣本程序作爲input.js // 這裏幾篇關於javascript壓縮的文章都使用同樣的input.js

var is = {

ie:      navigator.appName == ‘Microsoft Internet Explorer’,

java:    navigator.javaEnabled(),

ns:      navigator.appName == ‘Netscape’,

ua:      navigator.userAgent.toLowerCase(),

version: parseFloat(navigator.appVersion.substr(21)) ||

parseFloat(navigator.appVersion),

win:     navigator.platform == ‘Win32′

}

is.mac = is.ua.indexOf(‘mac’) >= 0;

if (is.ua.indexOf(‘opera’) >= 0) {

is.ie = is.ns = false;

is.opera = true;

}

if (is.ua.indexOf(‘gecko’) >= 0) {

is.ie = is.ns = false;

is.gecko = true;

}

使用Dojo compressor壓縮後,輸出的output.js是

var is={ie:navigator.appName==”Microsoft Internet Explorer”,java:navigator.javaEnabled(),ns:navigator.appName==”Netscape”,ua:navigator.userAgent.toLowerCase(),version:parseFloat(navigator.appVersion.substr(21))||parseFloat(navigator.appVersion),win:navigator.platform==”Win32″};

is.mac=is.ua.indexOf(“mac”)>=0;

if(is.ua.indexOf(“opera”)>=0){

is.ie=is.ns=false;

is.opera=true;

}

if(is.ua.indexOf(“gecko”)>=0){

is.ie=is.ns=false;

is.gecko=true;

}

這裏發現Dojo Compressor的壓縮率是最差的,

對比JSMin和YUI Compressor的輸出,用UltraEdit打開可以看到,YUI Compressor壓縮後只有1行,JSMin壓縮後仍然有4行, Dojo Compressor居然有10行!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章