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