Minify
在Google Code上有一個PHP的開源項目叫Minify,它可以合并、精簡、Gzip壓縮和緩存JavaScript和CSS文件。其文件合并功能就非常類似Combo Handler,只不過URL的語法稍微有點(diǎn)不同。如果Yahoo! CDN安裝了Minify,那么上面Rich Text Editor的代碼用Minify的默認(rèn)格式來寫就是:
<script src="
本地使用Minify很簡單,只需要Apache + PHP環(huán)境就OK了:
- 安裝好Apache + PHP (Windows、Mac)。
- 下載Minify源碼,解壓,然后把min文件夾復(fù)制到指定的根目錄下,比如localhost。這時URL的寫法大概是http://localhost/min/f=...
- 啟用Apache的Mod Rewrite模塊,然后在min文件夾下新建.htaccess文件,并添加如下Rewrite規(guī)則:
<IfModule mod_rewrite.c> RewriteEngine on # You may need RewriteBase on some servers # 如果做了所有的開啟Mod Rewrite的設(shè)置依舊無效,請城市嘗試啟用下面這句 #RewriteBase /min # rewrite URLs like "/min/f=..." to "/min/?f=..." RewriteRule ^([bfg]=.*) index.php?$1 [L,NE] </IfModule>
如果不啟用Mod Rewrite功能,則Minify的URL會類似http://localhost/min/index.php?f=…,這對客戶端和中間服務(wù)器的緩存不利,而啟用了Mod Rewrite之后的URL類似http://localhost/min/f=…,不僅解決前面問題且更短。
4. 配置Minify,即編輯min/config.php文件
$min_enableBuilder = true; //本地使用時可以通過http://dwn/min/builder/來進(jìn)行配置,外部使用時請設(shè)置為false //$min_cachePath = 'c:\\WINDOWS\\Temp'; //$min_cachePath = '/tmp'; //$min_cachePath = preg_replace('/^\\d+;/', '', session_save_path()); //選擇其一,去掉注釋設(shè)置臨時緩存目錄,這樣可以減少程序運(yùn)算提高性能 $min_serveOptions['maxAge'] = 1800; //設(shè)置瀏覽器緩存的時間,為了提升性能建議這個時間設(shè)置盡可能的長,比如315360000 //如果需要在不改變URL的情況下更新靜態(tài)文件,可以采用類似時間戳的方式, //如http://localhost/min/f=example/example.css&20100601.css //建議靜態(tài)文件采用版本號管理,每次修改都需要升級版本號,這樣就無需時間戳了 //如http://localhost/min/f=example/example_1_0_1.css $min_serveOptions['minApp']['maxFiles'] = 10; //參數(shù)f獲取參數(shù)的個數(shù),即合并的文件個數(shù),這個數(shù)量完全可以增大,比如50 //當(dāng)然可能會遇到URL最大值問題,后會有解釋 $min_documentRoot = ''; //$min_documentRoot = substr(__FILE__, 0, strlen(__FILE__) - 15); //$min_documentRoot = $_SERVER['SUBDOMAIN_DOCUMENT_ROOT']; //當(dāng)$min_documentRoot為空時,其值就是$_SERVER['DOCUMENT_ROOT'], //但合并的文件不在$_SERVER['DOCUMENT_ROOT']下,會導(dǎo)致400錯誤, //這個時候可以啟用第2行或第3行
出處:隨網(wǎng)之舞
責(zé)任編輯:bluehearts
上一頁 服務(wù)端合并和壓縮JS和CSS文件 [1] 下一頁 服務(wù)端合并和壓縮JS和CSS文件 [3]
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|