javascript 压缩工具-YUI-compressor

作者: 核桃博客 |

本文 网址: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说的压缩率更高是可信的;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C#中使用JavaScriptCompressor可以对JavaScript文件进行压缩。首先,你需要创建一个JavaScriptCompressor的实例。然后,你可以设置编码和文件类型。接下来,你需要指定要压缩的JavaScript文件的路径和压缩后的文件路径。最后,你可以使用Compress方法对JavaScript文件进行压缩,并将压缩后的内容写入到新的文件中。下面是一个使用JavaScriptCompressor压缩JavaScript文件的示例代码: ```csharp JavaScriptCompressor compressor = new JavaScriptCompressor(); Console.WriteLine("默认编码:" + compressor.Encoding.EncodingName); Console.WriteLine("默认文件类型:" + compressor.ContentType); // 使用utf-8 编码文件 compressor.Encoding = Encoding.UTF8; string filename = @"L:\ABCSolution\StaticFile\StaticFile\Js\cover3.0.js"; string newfilename = @"L:\ABCSolution\StaticFile\StaticFile\Js\cover3.0.min.js"; string source = File.ReadAllText(filename); source = compressor.Compress(source); File.WriteAllText(newfilename, source); ``` 在上面的代码中,我们首先创建了一个JavaScriptCompressor的实例。然后,我们设置了编码为UTF-8。接下来,我们指定了要压缩的JavaScript文件的路径和压缩后的文件路径。然后,我们使用Compress方法对JavaScript文件进行压缩,并将压缩后的内容写入到新的文件中。 希望这个例子能够帮助到你。如果你还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* *2* [C#的Css/Js静态文件压缩--Yui.Compressor.Net](https://blog.csdn.net/u011966339/article/details/84559826)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C# 实用的第三方库](https://blog.csdn.net/u012685544/article/details/126146203)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值