前端工程性能优化
? ? ? ?依據雅虎14條性能優化原則,《高性能網站建設指南》及《高性能網站建設進階指南》中提到的性能優化點,按照優化方向進行分類整合,得到以下優化原則分類表:
| 請求數量 | 合并腳本和樣式表,CSS Sprites,拆分初始化負載,劃分主域 |
| 請求帶寬 | 開啟GZip,精簡JavaScript,移除重復腳本,圖像優化 |
| 緩存利用 | 使用CDN,使用外部JavaScript和CSS,添加Expires頭, 減少DNS查找,配置ETag,使AjaX可緩存 |
| 頁面結構 | 將樣式表放在頂部,將腳本放在底部,盡早刷新文檔的輸出 |
| 代碼校驗 | 避免CSS表達式,避免重定向 |
目前大多數前端團隊可以利用?yui compressor?或者?google closure compiler?等壓縮工具很容易做到?精簡Javascript?這條原則;同樣的,也可以使用圖片壓縮工具對圖像進行壓縮,實現?圖像優化?原則。這兩條原則是對單個資源的處理,因此不會引起任何工程方面的問題。很多團隊也通過引入代碼校驗流程來確保實現?避免css表達式?和?避免重定向?原則。目前絕大多數互聯網公司也已經開啟了服務端的Gzip壓縮,并使用CDN實現靜態資源的緩存和快速訪問;一些技術實力雄厚的前端團隊甚至研發出了自動CSS Sprites工具,解決了CSS Sprites在工程維護方面的難題。使用“查找-替換”思路,我們似乎也可以很好的實現?劃分主域?原則。
我們把以上這些已經成熟應用到實際生產中的優化手段去除掉,留下那些還沒有很好實現的優化原則。再來回顧一下之前的性能優化分類:
| 請求數量 | 合并腳本和樣式表,拆分初始化負載 |
| 請求帶寬 | 移除重復腳本 |
| 緩存利用 | 添加Expires頭,配置ETag,使Ajax可緩存 |
| 頁面結構 | 將樣式表放在頂部,將腳本放在底部,盡早刷新文檔的輸出 |
?
總結
- 上一篇: 中国移动光猫的拨号和桥接模式的区别
- 下一篇: 前端优化之雅虎军规