前端如何優(yōu)化web項(xiàng)目性能 web長頁面如何優(yōu)化?
web長頁面如何優(yōu)化?想擁有一名不合格的Web前端工程師,Web前端性能優(yōu)化是一個(gè)要要完全掌握的知識(shí),這樣的話應(yīng)該是怎摸接受Web前端性能優(yōu)化呢?1、CSS精靈CSSSprites在國內(nèi)很多人叫CSS
web長頁面如何優(yōu)化?
想擁有一名不合格的Web前端工程師,Web前端性能優(yōu)化是一個(gè)要要完全掌握的知識(shí),這樣的話應(yīng)該是怎摸接受Web前端性能優(yōu)化呢?
1、CSS精靈
CSSSprites在國內(nèi)很多人叫CSS精靈,是一種網(wǎng)頁圖片應(yīng)用到處理。它不允許你將一個(gè)頁面比較復(fù)雜到的所有零零星星圖片都真包含到三張大圖中去,這樣一來,當(dāng)訪問該頁面時(shí),寫入的圖片就不會(huì)像以前現(xiàn)在這樣一幅一幅地漸漸總是顯示出了。對此當(dāng)前網(wǎng)絡(luò)流行的速度而言,不低于200KB的單張圖片的所需寫入時(shí)間基本上是也差不多的,因此不需要顧慮這個(gè)問題。
2、代碼壓縮
(1)將table替換成div布局
最好就是將table標(biāo)簽布局HTML重構(gòu)div布局,也可以節(jié)約下來最起碼40%的代碼量。而div代碼少于table布局的HTML網(wǎng)頁,所以才搜素引擎索引權(quán)重也效果更優(yōu)table布局的HTML網(wǎng)頁。
(2)被縮減系統(tǒng)精簡div、span、ul、li等系列標(biāo)簽
布局DIVCSS網(wǎng)頁時(shí)候,有的時(shí)候這個(gè)可以節(jié)約下來一些DIV布局代碼,減少代碼量。
(3)刪除無用空格
刪除掉多余空格換行,也可以比較有效地裝換HTML代碼占用資源字節(jié),一般在開發(fā)完畢能完成后這個(gè)可以對HTML中代碼接受刪除換行和空格內(nèi)容。
(4)表格類型布局時(shí)候適度地建議使用table其它的東西div布局
要是是本身是表格數(shù)據(jù)列表排版,我們最好選擇類型table,只不過表格布局不使用table優(yōu)于div布局,不使用table布局卻比div布局節(jié)約水HTML標(biāo)簽代碼和節(jié)省用水CSS樣式。
(5)網(wǎng)頁GZIP壓縮后
自己的服務(wù)器推薦推薦設(shè)置里網(wǎng)頁Gzip壓縮后功能。
3、高質(zhì)量的JS代碼肯定能省很多事,封裝JS以及反復(fù)重復(fù)調(diào)用方法能夠下降很多操作。
4、降低對DOM的操作
(1)創(chuàng)建戰(zhàn)隊(duì)正式父元素。
(2)創(chuàng)建家族子元素,并先添加內(nèi)容,設(shè)置中屬性。
(3)把子元素加入到到原先父元素中。
(4)把臨時(shí)父元素添加到DOM樹。
或:(1)可以找到要再添加位置的元素。
(2)決定該元素內(nèi)容為必須的HTML。
5、建議使用JSON格式來并且數(shù)據(jù)交換
原理:JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,按結(jié)構(gòu)幾乎其它于語言的文本格式,是理想的數(shù)據(jù)交換格式。同時(shí),JSON是JavaScript原生格式,這意味著在JavaScript中如何處理JSON數(shù)據(jù)不必須任何特殊能量的API或工具包。
6、高效穩(wěn)定建議使用HTML標(biāo)簽和CSS樣式
7、使用CDN加速(內(nèi)容分發(fā)網(wǎng)絡(luò))
CDN的全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。CDN是構(gòu)建在超過網(wǎng)絡(luò)基礎(chǔ)之上的智能虛擬網(wǎng)絡(luò),憑著部署在各地的邊緣服務(wù)器,是從中心平臺(tái)的負(fù)載均衡、內(nèi)容分發(fā)、調(diào)度等功能模塊,使用戶就近某些所需內(nèi)容,減低網(wǎng)絡(luò)擁塞,能提高用戶ftp訪問響應(yīng)速度和命中率。CDN的關(guān)鍵技術(shù)主要有內(nèi)容存儲(chǔ)和全部分技術(shù)。
8、系統(tǒng)精簡CSS和JS文件
9、特別注意完全控制Cookie大小和污染
前端開發(fā),頁面優(yōu)化,性能優(yōu)化有哪些方面?
感覺上前端的性能雖然是很不重要的,我談我在不好算項(xiàng)目中的應(yīng)用。前端的應(yīng)用通常從100元以內(nèi)幾個(gè)方面接受360優(yōu)化:
1.減少http請求
HTTP協(xié)議是無狀態(tài)的應(yīng)用層協(xié)議,那樣的話每次HTTP幫忙都需要建立起通信鏈路、進(jìn)行數(shù)據(jù)傳輸,而在服務(wù)器端,每個(gè)HTTP都要啟動(dòng)單獨(dú)的的線程去處理。這些通信和服務(wù)的開銷都很昂貴,下降HTTP只是請求的數(shù)目可有效能提高訪問性能。下降HTTP的主要注意手段是胸壁痛CSS、合并JavaScript、合并圖片。將瀏覽器三次不能訪問要的JavaScript、CSS單獨(dú)設(shè)置成一個(gè)文件,那樣瀏覽器就只是需要四次請求。圖片也這個(gè)可以合并,多張圖片胸壁痛成一張,假如10張圖片都是不同的超鏈接,可偏移做出反應(yīng)鼠標(biāo)點(diǎn)擊操作,構(gòu)造有所不同的URL。
2.使用瀏覽器緩存
對一個(gè)網(wǎng)站而言,CSS、JavaScript、Logo、圖標(biāo)這些動(dòng)態(tài)和靜態(tài)資源文件更新的頻率都都很低,而這些文件又簡直是每次來HTTP各位都是需要的,如果沒有將這些文件緩存在瀏覽器中,也可以極好地會(huì)改善性能。按照系統(tǒng)設(shè)置HTTP頭中Cache-Control和Expires的屬性,可修改瀏覽器緩存,緩存時(shí)間也可以是數(shù)天,甚至于是幾個(gè)月。在某些時(shí)候,靜態(tài)資源文件變化要一定要及時(shí)應(yīng)用到到客戶端瀏覽器,這個(gè),可按照決定文件名實(shí)現(xiàn)方法,即更新完JavaScript文件并也不是沒更新JavaScript文件內(nèi)容,反而生成沉淀一個(gè)新的JS文件并更新完HTML文件中的摘錄。建議使用瀏覽器緩存策略的網(wǎng)站在自動(dòng)更新靜態(tài)資源時(shí),應(yīng)常規(guī)改大小自動(dòng)更新的方法,比如說必須更新10個(gè)圖標(biāo)文件,宜把10個(gè)文件第二次所有的更新,只不過是應(yīng)一個(gè)文件一個(gè)文件逐步降低自動(dòng)更新,并有肯定會(huì)的間隔時(shí)間,避免用戶瀏覽器突然之間內(nèi)的緩存無法激活,分散更新緩存,倒致服務(wù)器負(fù)載激增、網(wǎng)絡(luò)堵塞的情況。
3.啟用壓縮
在服務(wù)器端對文件接受高壓縮,在瀏覽器端對文件解壓文件,可比較有效減少通信傳輸?shù)臄?shù)據(jù)量。文本文件的壓縮后效率可以到達(dá)80%以上,但HTML、CSS、JavaScript文件關(guān)閉GZip裝換可都沒有達(dá)到好點(diǎn)的效果。但高壓縮對服務(wù)器和瀏覽器有一種肯定會(huì)的壓力,在通信帶寬良好,而服務(wù)器資源不足以的情況下要權(quán)衡考慮到。
4.CSS裝在頁面最上面、JavaScript放進(jìn)頁面最下面
瀏覽器會(huì)在直接下載完全部CSS之后才對整個(gè)頁面通過軟件渲染,而最好是的做法是將CSS放進(jìn)頁面最上面,讓瀏覽器盡早上網(wǎng)下載CSS。JavaScript則只不過,瀏覽器在讀取JavaScript后馬上執(zhí)行,有可能會(huì)阻塞整個(gè)頁面,導(dǎo)致頁面沒顯示越來越慢,所以JavaScript最好是放在頁面最下面。但要是頁面解析時(shí)就需要用到JavaScript,這時(shí)放在旁邊底部就不合適了。
5.降低Cookie傳輸
Cookie在每次做出反應(yīng)跪請中,要是太大勢必會(huì)影響不大性能,所以才沒必要網(wǎng)cookie放的就不放,針對性的選擇盛有cookie的數(shù)據(jù)。
總之,優(yōu)化系統(tǒng)的方法還很多,我這樣的感覺最痛的是第4項(xiàng),有些js文件大摘錄如果沒有放在最前面對性能消耗比較大。