合并多個(gè)CSS或者js文件用來(lái)Minify優(yōu)化網(wǎng)站性能

2022-06-12發(fā)布者:ylm大小: 下載:0

文件大小:

軟件介紹

一般情況下,網(wǎng)站速度的瓶頸都在前端,而最關(guān)鍵的就是資源的加載速度,但是大多數(shù)瀏覽器都有單個(gè)域名并發(fā)請(qǐng)求數(shù)限制,所以如果一個(gè)頁(yè)面中存在很多的資源,比如CSS和JavaScript文件,那么明顯會(huì)降低網(wǎng)站的加載速度,比較好處理方式就是把多個(gè)文件通過(guò)一個(gè)請(qǐng)求來(lái)訪問(wèn),這樣既不會(huì)影響之前的文件維護(hù),又會(huì)減少資源的清楚數(shù)量,Minify就是為之而生。下面是一些被Minify采用的 Yahoo! 優(yōu)化準(zhǔn)則:


1、Make Fewer HTTP Requests

2、Add an Expires or a Cache-Control Header

3、Gzip Components

4、Minify JavaScript and CSS

5、Configure ETags

6、Keep Components under 25K


下面兩幅圖分別是啟用Minify之前和啟用Minify之后網(wǎng)站請(qǐng)求時(shí)間的一個(gè)對(duì)比,可以看出啟用Minify之后,資源的加載時(shí)間從250ms減少到了125ms,總共節(jié)省了50%的時(shí)間。

特性:

合并多個(gè)CSS或JavaScript文件為一個(gè)文件,減少請(qǐng)求數(shù)量,并且進(jìn)行minify處理

使用了多個(gè)開(kāi)源的庫(kù),包括 JSMin.php ,Minify CSS,Minify HTML

服務(wù)端緩存(fils/APC/Memcache),可以避免不必要的重復(fù)處理

當(dāng)瀏覽器存在資源的緩存,返回HTTP 304 Not Modified

多個(gè)文件合并時(shí),自動(dòng)生成URI

當(dāng)開(kāi)啟服務(wù)端緩存的時(shí)候,在一般的服務(wù)器上Minify每秒可以處理幾百個(gè)并發(fā)請(qǐng)求

根據(jù)請(qǐng)求頭,開(kāi)啟Content-Encoding: gzip。在服務(wù)端緩存開(kāi)啟的情況下,Minify提供gzipped 文件速度比Apache’s mod_deflate模塊要快

安裝

下載最新的Minify,然后解壓文件到”min” 文件夾

Copy “min” 文件夾到自己網(wǎng)站的DOCUMENT_ROOT下,如果想要Minify在子目錄下工作,看這里

使用

假設(shè)網(wǎng)站域名是http://example.com,Minify安裝在了虛擬主機(jī)的根目錄下,那么訪問(wèn)http://example.com/min/,我們會(huì)看到一個(gè)“Minify URI Builder”,我們可以輸入需要進(jìn)行合并的文件URI,如下

點(diǎn)擊Update之后,系統(tǒng)會(huì)自動(dòng)生成一個(gè)合并后的URI:/min/?b=js&f=jquery-a.js,jquery-b.js,jquery-c.js。如果覺(jué)得URI太長(zhǎng),可以通過(guò)配置文件來(lái)指定group,編輯min目錄下的groupsConfig.php文件,加入以下內(nèi)容:


return array(
js => array(//js/jquery-a.js, //js/jquery-b.js, //js/jquery-c.js),//相對(duì)于DOCUMENT_ROOT
);    


之后就可以通過(guò)/min/?g=js來(lái)訪問(wèn)了

Minify在資源首次被請(qǐng)求的時(shí)候,會(huì)對(duì)多個(gè)文件進(jìn)行合并,gzip,去除空格,注釋等處理,然后會(huì)把處理的結(jié)果進(jìn)行緩存,默認(rèn)情況下是進(jìn)行文件緩存,緩存的key以minify_開(kāi)頭,修改min/config.php文件,配置緩存文件存放的位置:


除了通過(guò)文件進(jìn)行緩存之外,Minify還支持Memcache緩存,修改min/index.php文件,加入以下代碼:


require lib/Minify/Cache/Memcache.php;
= new Memcache;
->connect(localhost, 11211);
= new Minify_Cache_Memcache();    


Minify支持兩種debug方式,一種是通過(guò)firephp調(diào)試PHP錯(cuò)誤,修改min/config.php文件,加入以下代碼:



另一種是通過(guò)在URL中加入flag進(jìn)行錯(cuò)誤調(diào)試,在min/config.php中加入



之后就能以方式進(jìn)行調(diào)試了

發(fā)表評(píng)論(共0條評(píng)論)
請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī),評(píng)論內(nèi)容只代表網(wǎng)友觀點(diǎn),發(fā)表審核后顯示!

版權(quán)聲明:

1 本站所有資源(含游戲)均是軟件作者、開(kāi)發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔(dān)!

2 本站將不對(duì)任何資源負(fù)法律責(zé)任,所有資源請(qǐng)?jiān)谙螺d后24小時(shí)內(nèi)刪除。

3 若有關(guān)在線投稿、無(wú)法下載等問(wèn)題,請(qǐng)與本站客服人員聯(lián)系。

4 如侵犯了您的版權(quán)、商標(biāo)等,請(qǐng)立刻聯(lián)系我們并具體說(shuō)明情況后,本站將盡快處理刪除,聯(lián)系QQ:2499894784

返回頂部