`
卡拉阿风
  • 浏览: 100830 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Yahoo! UI Library: YUI Compressor

    博客分类:
  • SEO
阅读更多
According to Yahoo!'s Exceptional Performance Team, 40% to 60% of Yahoo!'s users have an empty cache experience and about 20% of all page views are done with an empty cache (see this article by Tenni Theurer on the YUIBlog for more information on browser cache usage). This fact outlines the importance of keeping web pages as lightweight as possible. Improving the engineering design of a page or a web application usually yields the biggest savings and that should always be a primary strategy. With the right design in place, there are many secondary strategies for improving performance such as minification of the code, HTTP compression, using CSS sprites, etc.
In terms of code minification, the most widely used tools to minify JavaScript code are Douglas Crockford's JSMIN, the Dojo compressor and Dean Edwards' Packer. Each of these tools, however, has drawbacks. JSMIN, for example, does not yield optimal savings (due to its simple algorithm, it must leave many line feed characters in the code in order not to introduce any new bugs).
The goal of JavaScript and CSS minification is always to preserve the operational qualities of the code while reducing its overall byte footprint (both in raw terms and after gzipping, as most JavaScript and CSS served from production web servers is gzipped as part of the HTTP protocol). The YUI Compressor is JavaScript minifier designed to be 100% safe and yield a higher compression ratio than most other tools. Tests on the YUI Library have shown savings of over 20% compared to JSMin (becoming 10% after HTTP compression). Starting with version 2.0, the YUI Compressor is also able to compress CSS files by using a port of Isaac Schlueter's regular-expression-based CSS minifier.
具体请看这里
http://com3.devnet.re3.yahoo.com/yui/compressor/

YUI Compressor是使用Java编写的工具
工作原理简介:
主要是去掉冗余的空白,主要包括空格,换行符、制表符。
作为传统的JS压缩,我认识是比较好的了。

针对于大项目来说,用传统的js压缩工具,压缩效率不是很另人满意

现在的浏览器都支持压缩传输(通过设置http header的Content-Encoding=gzip),可以通过服务器的配置(如apache)为你的js提供压缩传输,或是appfuse中使用的GZipFilter使tomcat也提供这种能力(tomcat1.5后自带了。自己配置一下就可以了)。但是这种这种动态的压缩会导致服务器CPU占用率过高

还有种方法就是静态压缩(就是将js预先通过gzip.exe压缩好) ,这是目前我知道的最好的方法,不但提高了压缩效率,而且不占用cpu。有兴趣的可以一起研究探讨下。
===========================华丽的分割线=====================
今天的主要目的是介绍YUI Compressor
1.http://www.julienlecomte.net/yuicompressor/到这里去下载YUI Compressor
我下载的是最新的2.4.1
2.进入YUI Compressor/build目录下找到yuicompressor-2.4.1.jar
它是一个jar文件。你可以直接拿到编译运行
查看帮助
输入java -jar yuicompressor-2.4.1.jar -h
如下图

$ java -jar yuicompressor-x.y.z.jar
用法: java -jar yuicompressor-x.y.z.jar [options] [input file]

Global Options
-h, --help 显示帮助信息
--type 指明需要压缩的文件是js还是css。
--charset 指明需要压缩的文件编码类型
--line-break 在指定的列换行
-v,--verbose  显示信息和警告信息
-o 指定输出文件 。默认为标准输出(屏幕)。

JavaScript Options
--nomunge Minify only, do not obfuscate
--preserve-semi Preserve all semicolons
--disable-optimizations disable all micro optimizations

演示下
最简单的语法
java -jar yuicompressor-2.4.1.jar md5.js -o out.js
前后两个演示,你可以看下效果,在附件test12-23.rar里面

再去这个网站http://compressorrater.thruhere.net/
查看,粘贴一个脚本可以在线压缩并比较(在线压缩的是用2.3.5版本。我自己用的是2.4.1.很明显我的压缩效率比较强大)
如图所示


  • 大小: 102.7 KB
  • 大小: 149.7 KB
1
0
分享到:
评论

相关推荐

    yui_2.9.0前端UI

    UI Library。是一组工具和控件,用JavaScript写成, 为的是用DOM 脚本,DHTML和AJAX等技术创建丰富的网页交互式应用程序。 YUI 基于BSD协议,对所有的使用方式都是免费的。YUI 项目包括YUI 库和两个创建时工具: YUI...

    yahoo3.0 YUI Examples

    UI Library (YUI) 3.0版本的一个实例集合,旨在帮助开发者理解和应用这一强大的JavaScript和CSS框架。YUI是一个开源的前端开发工具集,用于构建高性能、可扩展的Web应用程序。这个压缩包很可能是包含了一系列的代码...

    JS 压缩工具 YUICompressorUI-v1.0

    YUICompressor是Yahoo!开发的一款开源的JavaScript和CSS压缩工具。它通过删除空格、换行符以及不必要的字符,同时进行代码混淆,显著减小文件大小,从而提高页面加载速度。YUICompressor不仅支持JavaScript,还支持...

    yui2.9

    User Interface Library,是雅虎公司推出的一款开源JavaScript库,它为开发者提供了丰富的工具和组件,帮助构建高效、可扩展的Web应用程序。YUI 2.9作为其2.x系列的一个重要版本,包含了众多功能强大、性能优异的...

    压缩加密JS脚本C#源码

    UI Library (YUI) Compressor的启发,或者至少其功能与之相似。YUI Compressor是一款知名的JavaScript和CSS压缩工具,它由Java编写,能够有效减少网页资源的下载时间。 在压缩包子文件的文件名称列表中,“packer3...

    YUICompressorUI

    UI Library (YUI) 压缩器的功能。YUI Compressor是一款广泛使用的JavaScript和CSS代码压缩工具,旨在减少网页加载时间,提高网站性能。这款UI版本为开发者提供了一个图形化的操作界面,使得压缩过程更为便捷。 在...

    JS-CSS压缩工具

    UI Library (YUI) 的压缩器的.NET版本,广泛用于JS和CSS的压缩。YUI Compressor以其高效的代码压缩效果和错误处理能力而闻名。 3. **Iesi.Collections.dll**:这个文件可能包含的是Iesi Collections库,一个.NET...

    关于yui的学习

    User Interface Library,是由雅虎公司开发并开源的一款JavaScript库,旨在帮助开发者构建高性能、可扩展且易于使用的Web应用程序。YUI的核心在于提供了一系列实用的模块,包括DOM操作、事件处理、动画效果、Ajax...

    AjaxReady:AjaxReady使您的AJAX请求非常简单!-开源

    UI Library (YUI) Compressor工具进行压缩的版本,同样用于优化性能。 9. **示例**: 压缩包内的`examples`目录包含了使用AjaxReady的实例代码,这可以帮助开发者快速理解如何在实际项目中应用AjaxReady。 10. **...

    java开源包1

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    java开源包11

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    java开源包2

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    java开源包3

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    java开源包6

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    java开源包5

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    java开源包10

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    java开源包4

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    java开源包8

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    java开源包7

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    java开源包9

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

Global site tag (gtag.js) - Google Analytics