您好,登錄后才能下訂單哦!
如何使用Minify壓縮css和js文件
Minify 是用PHP5開發的應用,通過遵循一些Yahoo的優化規則來提高網站的性能。它會合并多個CSS或者JavaScript文件,移除一些不必要的空格和注釋,進行gzip壓縮,并且會設置瀏覽器的緩存頭。Minify 在設計上和Yahoo的 Combo Handler Service非常像,不過Minify可以合并任何你想要合并的JavaScript和CSS文件。
一般情況下,網站速度的瓶頸都在前端,而最關鍵的就是資源的加載速度,但是大多數瀏覽器都有單個域名并發請求數限制,所以如果一個頁面中存在很多的資源,比如CSS和JavaScript文件,那么明顯會降低網站的加載速度,比較好處理方式就是把多個文件通過一個請求來訪問,這樣既不會影響之前的文件維護,又會減少資源的清楚數量,Minify就是為之而生。下面是一些被Minify采用的 Yahoo! 優化準則:
Minify把CSS和JS壓縮和削減(Minify:去掉空格回車符等),以及把多個CSS,JS文件整合到一個文件里。不要以為你的大帶寬沒有必要進行這類優化。使用它的理由更重要的是文件合并,而不是壓縮,而是文件整合,這樣可以減少瀏覽器端不斷發出新的連接請求,就像FTP服務器一樣,多個小文件和一個大文件耗時是不一樣的。
Minify是用PHP寫的,項目地址 http://code.google.com/p/minify/
1. 下載最新的Minify然后解壓縮到minify目錄。
2. 復制"min"目錄到你的DOCUMENT_ROOT,也就是網站根目錄。
基本用法
例如:http://localhost/a.js,http://localhost/b.js兩個文件。那么現在,你可以使用http://localhost/min/?f=a.js,b.js,看看瀏覽器返回結果,是不是minify的兩個js文件的內容?
附譯min目錄下的README.txt
引用
該目錄中的文件包含默認Minify設置,旨在簡化整合您的網站。Minify將合并削減JavaScript或CSS文件,并進行HTTP壓縮和緩存頭。
推 薦
建議修改config.php中設置$min_cachePath到一個PHP可寫目錄。這將提高性能。
GETTING STARTED
最快的開始Minify的方法是使用Minify Builder應用程序的URI
訪問您的網站:http://liqingbo.cn/min/builder/
壓縮單個文件
比方說,你要服務于這個文件:
http://liqingbo.cn/wp-content/themes/default/default.css
下面是“Minify網址”該文件:
http://liqingbo.cn/min/?f=wp-content/themes/default/default.css
換句話說,“f”參數設置為從WEB根路徑下的目標文件(不需要路徑/)”。由于CSS文件可能包含相對URI,Minify會自動通過重寫機制找到它們。
合并多個文件到一個文件下載
用','分隔f參數的每一個文件名。
比如,有如下CSS文件:
http://liqingbo.cn/scripts/jquery-1.2.6.js
http://liqingbo.cn/scripts/site.js
您可以通過Minify結合起來:
http://example.com/min/?f=scripts/jquery-1.2.6.js,scripts/site.js
簡化基本路徑
如果你合并的文件共享同一父目錄,你可以使用b參數設置的f參數的基本目錄(同樣不包括前導或者后綴/字符)。
例如,以下兩種寫法效果相同:
http://liqingbo.cn/min/?f=scripts/jquery-1.2.6.js,scripts/site.js,scripts/home.js
http://liqingbo.cn/min/?b=scripts&f=jquery-1.2.6.js,site.js,home.js
在Html中使用MINIFY
在(X)HTML文件,不要忘記將&替換為&
指定允許的目錄
默認情況下,Minify不會有任何DOCUMENT_ROOT范圍內的*.css/*.js文件。如果你希望限制Minify存取某些目錄,在config.php中設置
$min_serveOptions ['minApp'] ['allowDirs']
數組。例如:限制到/js和/themes/default目錄,使用:
$min_serveOptions['minApp']['allowDirs'] = array('//js', '//themes/default');
"組":更快的性能和更好的網址
為了獲得最佳性能,編輯groupsConfig.php中的預指定文件組
下面是一個例子配置:
return array( 'js' => array('//js/Class.js', '//js/email.js') );
以上預指定js將結果是合并了如下文件:
http://example.com/js/Class.js
http://example.com/js/email.js
現在,您可以如此簡化URL:
http://example.com/min/?g=js
組:指定document_root目錄以外的文件
在groupsConfig.php
陣中,//是指向DOCUMENT_ROOT
,但你也可以指定從系統的絕對目錄路徑或相對于document_root的相對目錄:
return array( 'js' => array( '//js/file.js' // file within DOC_ROOT ,'//../file.js' // file in parent directory of DOC_ROOT ,'C:/Users/Steve/file.js' // file anywhere on filesystem ) );
未來過期HTTP頭
Minify可以發送未來(一年)過期HTTP頭。要啟用該功能,您必須添加一個數字到URIs(例如/min/?g=js&1234 or /min/f=file.js&1234),每當源文件修改時改變該數字。如果你使用SVN/CVS,你可以考慮使用修訂版號作為該數字。
如果使用"組"來合并壓縮你的文件,可以使用工具函數Minify_groupUri()來得到一個“版本”的URI。例如:
// 之前確保min/lib目錄設置到include_path // add /min/lib to your include_path first! require $_SERVER['DOCUMENT_ROOT'] . '/min/utils.php'; $jsUri = Minify_groupUri('js'); echo " ";
調試模式
在調試模式下,Minify不壓縮文件,而是發送合并后的帶有行號的文件。要啟用該模式,在config.php中設置為$min_allowDebugFlag為true,并增加"&debug=1" 到你的URIs.
例如:/min/?f=script1.js,script2.js&debug=1
注:對于該模式,注釋風格的字符串正則表達式可能會導致問題。
把min目錄上傳根目錄,根目錄打開http://example.com/min/
Note: Please set $min_cachePath in /min/config.php to improve performance.
設置/min/config.php文件 ,$min_cachePath 有3個選擇。
//$min_cachePath = ‘c://WINDOWS//Temp’; //$min_cachePath = ‘/tmp’; //$min_cachePath = preg_replace(‘/^//d+;/’, ”, session_save_path());
選擇第2個,去除// .設置tmp屬性777
在顯示的界面中加入你想合并壓縮的 js/css 路徑,點擊 ‘Update’ 之后會為你生成一個 url
如:http://localhost/min/b=googletesting/js& f=mootools.js,iAction.js,iAjax.js,global.js
,css
和JS
分別合并,2個地址。
如果需要組合的文件很多,url 就會變得很長,Minify 支持 group,可以將這些文件分組,這樣 url 中只需指定 g=group名字 就可以了。
安裝完畢后刪除min/builder/index.php
文件。防止其他人登陸!后期如需編輯再次上傳!
如有不明白的地方,可以給我留言,我們可以一起探討一下。
以上就是詳解使用Minify壓縮css和js文件的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。