YUI Compressor 是由 Yahoo 所發展的一套 JavaScript 與 CSS 壓縮工具,可以協助網頁開發者產生最小化的網頁。
網頁大小跟載入的速度有很大的關係,如果要降低網頁的大小,除了可以使用 Google Closure Compiler 編譯器將 JavaScript 最小化之外,也可以使用 Yahoo 所發展的 YUI Compressor,它除了可以處理 JavaScript 之外,也可以一併將 CSS 檔最小化。
網址: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
- 不做任何最佳化。