YUI Compressor是Yahoo推出的Javascript和CSS壓縮公用程式,基於java環境運行,因此需要首先安裝JRE或者JDK(在這裡我使用JDK)。
1、Java環境配置——Windows7(32位)
1)下載JDK(建議1.6版本以上)並安裝,我的jdk安裝目錄是D:\Program Files\Java\jdk1.6.0_27
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2)配置JAVA使用者變數
電腦——屬性——進階系統設定,開啟“系統屬性”視窗,選擇”進階”選項卡
單擊”環境變數“,開啟”環境變數“視窗,然後設定”系統變數“
a.建立 JAVA_HOME 系統變數
D:\Program Files\Java\jdk1.6.0_27 (JDK的安裝路徑)
b. 編輯PATH 系統變數(系統中已經存在預設值,因此在預設值前面添加,切記:第二個bin後面不要添加分號)
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
c.建立 CLASSPATH系統變數
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
3)開始——cmd,開啟命令提示視窗,輸入javac,若出現以下提示資訊,說明安裝成功
輸入java -version,查看java版本資訊
2、使用YUI Compressor壓縮JS或者CSS檔案
1)下載YUI Compressor並解壓,找到yuicompressor-2.4.6\build\yuicompressor-2.4.6.jar 壓縮包,複製其到磁碟指定位置(例如:F:\yuicompressor-2.4.6.jar )
2)開始—搜尋方塊—cmd,開啟命令視窗
3)輸入java -jar [yuicompressor-2.4.6.jar路徑] --type [壓縮檔格式js或者css] --charset utf-8 [未壓縮檔路徑 ] –o [壓縮輸出檔案路徑] ,斷行符號,壓縮好的js或者CSS檔案就在指定的輸出目錄下。
說明:
–type指定要打包的檔案類型,可選的有 js和css
–charset 指定字元集
-o 指定輸出的檔案名稱,如果不指定這個參數將會把壓縮後的內容輸出到命令列上
例如要壓縮一個js檔案,語句如下:
java -jar "F:\yuicompressor-2.4.6.jar" --type js --charset utf-8 "F:\ServiceAPI\js\QueryParamPanel-debug.js" -o "F:\QueryParamPanel-min.js"
若要壓縮CSS檔案,只需將–type後的js改為css,指定css檔案的源檔案路徑和輸出路徑即可
3、製作批處理工具
yuicompressor-2.4.6.jar 壓縮包路徑: F:\yuicompressor-2.4.6.jar
1)yuicompressor.bat批次檔代碼:
cd "%1"
for /f %%a in ('dir /b *-min.js') do call:ProcessDel: %%a
for /f %%a in ('dir /b *-min.css') do call:ProcessDel: %%a
for /f %%a in ('dir /b *.js') do call:ProcessCompress: %%a
for /f %%a in ('dir /b *.css') do call:ProcessCompress: %%a
:ProcessDel
IF NOT [%1]==[] call:DeleteMinFiles: %1
GOTO:EOF
:ProcessCompress
IF NOT [%1]==[] call:CompressFiles: %1
GOTO:EOF
:DeleteMinFiles
IF EXIST "%CD%\%1" del "%CD%\%1"
GOTO:EOF
:CompressFiles
java -jar "F:\yuicompressor-2.4.6.jar" %1 -o %~n1-min%~x1
GOTO:EOF
在文字編輯器中輸入以上批處理代碼,另存新檔yuicompressor.bat批次檔
2)yuicompressor.reg註冊表檔案代碼:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\Compress JS/CSS Files]
@="YUI-Compressor JS/CSS"
[HKEY_CLASSES_ROOT\Directory\shell\Compress JS/CSS Files\command]
@="F:\\yuicompressor.bat %1"
在文字編輯器中輸入以上批處理代碼,另存新檔yuicompressor.reg註冊表檔案
注意:
YUI-Compressor JS/CSS——批處理操作右鍵功能表項目名稱
F:\\yuicompressor.bat——yuicompressor.bat 批次檔路徑
3)雙擊註冊表檔案將其匯入註冊表,選中檔案夾後,右鍵菜單,會增加一個選項【YUI-Compressor JS/CSS】
4)在包含js檔案的檔案夾上,右鍵選擇“YUI-Compressor JS/CSS”,即開始壓縮檔夾下的所有js和css檔案,並在源檔案名稱後添加-min儲存為新的檔案
4、製作打包壓縮批次檔
檔案如下:
批次檔:pack-js.bat
需要打包的目錄檔案:pack-list.txt
pack-js.bat 代碼:
for /f %%i in (pack-list.txt) do type %%i >> pack-all.js
java -jar "F:\yuicompressor-2.4.6.jar" --type js --charset utf-8 pack-all.js -o pack-all-min.js
pack-list.txt
ext-basex-debug.js
AjaxRequest-debug.js
ServiceURL-debug.js
PagingStore-debug.js
Workspace-debug.js
DataCatalog-debug.js
MeasureTool-debug.js
使用方法:
在當前js檔案夾裡放入這兩個檔案,運行pack-js.bat後打包成一個壓縮檔pack-all-min.js
原文來自:http://www.cnblogs.com/heiniuhaha/archive/2011/06/15/YUI-Compressor.html