<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lefter &#187; yuicompressor</title>
	<atom:link href="http://lefter.net/blog/tag/yuicompressor/feed/" rel="self" type="application/rss+xml" />
	<link>http://lefter.net/blog</link>
	<description>blog of lefter</description>
	<lastBuildDate>Wed, 16 May 2012 03:54:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>CSS,JS文件压缩工具</title>
		<link>http://lefter.net/blog/compressor/</link>
		<comments>http://lefter.net/blog/compressor/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 10:27:56 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[程序相关]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[yuicompressor]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=1122</guid>
		<description><![CDATA[js/css文件常见的压缩工具有： YUIcompressor GUI TBcompressor ESC(ECMAScript cruncher) JSmin GUI:JsMinGUI Dojo ShrinkSafe 在线Js压缩 Google Closure compiler Closure Tools 打包下载地址 Yuicompressor的用法 java -jar D:\yuicompressor-2... ]]></description>
			<content:encoded><![CDATA[<h4>js/css文件常见的压缩工具有：</h4>		
<ul>
			<li><a href="http://yuilibrary.com/downloads/#yuicompressor">YUIcompressor</a><sup> GUI TBcompressor</sup></li>
			<li><a href="http://www.saltstorm.net/depo/esc/">ESC(ECMAScript cruncher)</a></li>
			<li><a href="http://www.crockford.com/javascript/jsmin.html">JSmin</a><sup> GUI:JsMinGUI</sup></li>
			<li><a href="http://www.dojotoolkit.org/docs/shrinksafe">Dojo ShrinkSafe</a></li>
			<li><a href="http://dean.edwards.name/packer/">在线Js压缩</a></li>
			<li><a href="http://code.google.com/closure/compiler/">Google Closure compiler</a>  <sup> <a href="http://code.google.com/closure/">Closure Tools</a></sup></li>			
<li><strong><a href="http://lefter.googlecode.com/files/JS-css%E5%8E%8B%E7%BC%A9%E5%B7%A5%E5%85%B7.7z">打包下载地址</a></strong></li>
		</ul>
<h4>Yuicompressor的用法</h4>
<pre><code>java -jar D:\yuicompressor-2.4.2\build\yuicompressor-2.4.2.jar 
--charset UTF-8 D:\my.js -o D:\my-min.js
	
java -jar D:\yuicompressor-2.4.2\build\yuicompressor-2.4.2.jar 
--charset UTF-8 D:\my.css -o D:\my-min.css 
</code></pre>
<p>具体语法和其他参数参考：<a href="http://www.julienlecomte.net/yuicompressor/">julienlecomte Yuicompressor</a>。 也可以写一个批处理文件<a href="http://hi.baidu.com/wymwon/blog/item/f060cd6e868b6adc80cb4a6f.html">具体格式</a>，同时处理多个文件，例如:将D盘中的WEBsite文件夹下的所有.CSS , .JS文件进行压缩</p>
<pre><code>@echo off
:设置YUI Compressor启动目录
SET YUIFOLDER=D:\yuicompressor-2.4.2\build
:设置你的JS和CSS根目录，脚本会自动按树层次查找和压缩所有的JS和CSS
SET JSFOLDER=D:\WEBsite
echo look for JavaScript, CSS ...
chdir /d %JSFOLDER%
for /r . %%a in (*.js *.css) do (
@echo It's compressing  %%~a ...
@java -jar %YUIFOLDER%\yuicompressor-2.4.2.jar --charset UTF-8 %%~fa -o %%~fa
 )
@echo OK!
pause &amp; exit</code></pre>
<h4>ESC(ECMAScript cruncher)</h4>
<p>这个工具只能在Windows下使用,ESC.wsf提供5种压缩级别，从0到4：<br/>
Level 0 : No compression 不对JS文件进行压缩<br/>
Level 1 : Comment removal 移除JS文件中的注释<br/>
Level 2 : Whitespace removal 移除JS文件中的注释及空行（默认）<br/>
Level 3 : Newline removal 移除JS文件中的注释，将所有代码合并为一行<br/>
Level 4 : Variable substitution 提供最新的压缩率，移除JS文件中的注释，将所有代码合并为一行，并且修改JS文件中的变量名。例如：将"big.js"按照压缩级别2来压缩（ESC.wsf默认压缩级别为2）为"min.js"</p>
<pre><code>cscript ESC.wsf -ow min.js big.js </code></pre>
<h4>Google Closure Tools 包含三大块</h4>
<ol>
<li><a href="http://code.google.com/closure/compiler/">Closure Compiler</a>：这是个JavaScript优化器，可以将JavaScript编译成压缩的、高性能代码。它除了能移除无效代码，重写代码使其最小化且运行更快，还能检查语法、变量引用和类型，并对一些常见JavaScript错误提出警告。同时，它还提供了Closure Inspector（一个Firefox插件）用于调试编译后的代码。<a href="http://closure-inspector.googlecode.com/files/closureinspector09.xpi">FireFox插件</a></li>
<li><a href="http://code.google.com/closure/library/">Closure Library</a>：这是个广泛的、经过良好测试、模块化且跨浏览器的JavaScript库。在例子中可以看到，Google Docs就是用这个库写的。</li>
<li><a href="http://code.google.com/closure/templates/">Closure Templates</a>：这是一个为Java和JavaScript实现的模板系统，可在服务器和客户端使用相同的模板。值得一提的是，JavaScript模板会进行预编译处理，以提高其性能。此外，Gmail和Google Docs也是使用该模板系统。</li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/compressor/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

