您的位置:首页 > Web前端 > JavaScript

javascript 压缩工具-YUI-compressor

2010-09-10 08:29 288 查看
作者: 核桃博客

|

本文
网址:http://www.hetaoblog.com/javascript-compressor-
yui-compressor/

关于javascript压缩工具,在之前的网
站性能优化工具-javascript压缩工具JSMin
中介绍过一个javascript压缩工具JSMin,

今天,再介绍一个非常流行的javascript压缩工具YUI compressor,可以提供更好的压缩效率;该工具由著名的Yahoo
Exceptional Performance项目组出品;

JSMin非常流行,简单,不过根据YUI compressor的说明,JSMin的压缩算法较为简单,可能会流下很多换行;
Yahoo的工程师那YUI库做测试,发现YUI compressor的压缩效果比JSMin好20%;当然,YUI
compressor的一个缺点是基于java,首先你需要有一个JRE才可以运行,JSMin在windows下直接提供exe下载,同时也提供
c/java/c#/perl/php/甚至javascript版本J方便各个环境下的各类程序员使用;

到这个地址下载YUI compressor

http://yuilibrary.com/downloads/#yuicompressor

当前最新的版本是2.4.2

下载后,解压,到build目录下,在安装好JRE环境后,在命令行下输入:

java -jar yuicompressor-2.4.2.jar input.js -o output.js

input.js就是你需要压缩的js源文件,output.js就是需要的输出文件,

这时,就会输出output.js;

我以在之前网
站性能优化工具-javascript压缩工具JSMin
中使用的JSMin的官方网站的样本程序作为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;

}

使用YUI 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};

对比JSMin的输出,用UltraEdit打开可以看到,YUI Compressor压缩后只有1行,JSMin压缩后仍然有4行,
看来YUI Compressor说的压缩率更高是可信的;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: