YUI Compressor 是由 Yahoo 所發展的一套 JavaScript 與 CSS 壓縮工具,可以協助網頁開發者產生最小化的網頁。

網頁大小跟載入的速度有很大的關係,如果要降低網頁的大小,除了可以使用 Google Closure Compiler 編譯器將 JavaScript 最小化之外,也可以使用 Yahoo 所發展的 YUI Compressor,它除了可以處理 JavaScript 之外,也可以一併將 CSS 檔最小化。

名稱:YUI Compressor
網址:http://yui.github.io/yuicompressor/

YUI Compressor 是一個以 Java 所寫成的工具,使用前要先安裝好 Java 的執行環境,然後再從 YUICompressor 的 GitHub 網站上下載打包好的 JAR 檔,就可以直接使用了。

壓縮 JavaScript

如果要將自己寫的 JavaScript 檔用 YUI Compressor 壓縮,產生最小化的 JavaScript 檔案,則執行

java -jar yuicompressor-x.y.z.jar myfile.js -o myfile-min.js

其中的 -o 參數是指定輸出的檔案名稱用的,這航指令會將 myfile.js 壓縮後儲存至 myfile-min.js

壓縮 CSS

如果要壓縮 CSS 檔,使用方式完全相同:

java -jar yuicompressor-x.y.z.jar myfile.css -o myfile-min.css

參數說明

預設的狀況下,YUI Compressor 會自動根據檔案的副檔名(.js.css)來判斷該檔案是 JavaScript 還是 CSS,然後自動選擇適當的壓縮方式,如果你的檔案名稱沒有按照一般的方式命名,那麼就要加上 --type 參數,明確指定檔案的類型是 JavaScript(--type js)還是 CSS(--type css)。例如:

java -jar yuicompressor-x.y.z.jar myfile.js -o myfile-min.js --type js

如果在壓縮的過程出現編碼錯誤的問題,可以使用 --charset 參數來指定檔案所使用的編碼,以 UTF8 為例:

java -jar yuicompressor-x.y.z.jar myfile.js -o myfile-min.js --charset utf-8

在使用 YUI Compressor 時,也可以加上 -v 讓 YUI Compressor 輸出比較詳細的資訊,它可以幫助你找出程式碼中潛在的問題。

以下是其餘參數的簡略說明:

--line-break
讓壓縮過的程式碼在輸出時,一行不要太常(不超過 8000 個字元),讓人比較好閱讀或除錯。

以下是 JavaScript 專用的參數:

--nomunge
只進行最小化的動作,不要對區域變數重新命名。
--preserve-semi
保留沒有作用的分號。
--disable-optimizations
不做任何最佳化。