當前位置:
首頁 > 知識 > 八大技巧,提升Web前端性能

八大技巧,提升Web前端性能

1. 優化 CSS 性能

CSS,即級聯樣式表,能從 HTML 描述的內容生成專業而又整潔的文件。很多 CSS 需要通過 HTTP 請求來引入(除非使用內聯 CSS),所以你要努力去除累贅的 CSS 文件,但要注意保留其重要特徵。

如果你的 Banner、插件和布局樣式是使用 CSS 保存在不同的文件內,那麼,訪問者的瀏覽器每次訪問都會載入很多文件。雖然現在 HTTP/2 的存在,減少了這種問題的發生,但是在外部資源載入的情況下,仍會花費較長時間。要了解如何減少 HTTP 請求以大幅度縮減載入時間,請閱讀WordPress 性能。

此外,不少網站管理員在網頁中錯誤的使用 @import 指令 來引入外部樣式表。這是一個過時的方法,它會阻止瀏覽並行下載。link 標籤才是最好的選擇,它也能提高網站的前端性能。多說一句,通過 link 標籤請求載入的外部樣式表不會阻止並行下載。


2.減少外部HTTP請求

在很多情況下,網站的大部分載入時間來自於外部的 Http 請求。外部資源的載入速度隨著主機提供商的伺服器架構、地點等不同而不同。減少外部請求要做的第一步就是簡略地檢查網站。研究你網站的每個組成部分, 消除任何影響訪問者體驗不好的成分。 這些成分可能是:

不必要的圖片

沒用的 JavaScript 代碼

過多的 css

多餘的插件

在你去掉這些多餘的成分之後,再對剩下的內容進行整理,如,壓縮工具、CDN 服務和預獲取(prefetching)等,這些都是管理 HTTP 請求的最佳選擇。除此之外,減少DNS路由查找教程會教你如何一步一步的減少外部 HTTP 請求。


3. 壓縮 CSS, JS 和 HTML壓縮技術可以從文件中去掉多餘的字元。

你在編輯器中寫代碼的時候,會使用縮進和注釋,這些方法無疑會讓你的代碼簡潔而且易讀,但它們也會在文檔中添加多餘的位元組。

例如,這是一段壓縮之前的代碼。

.entry-contentp{font-size:14px!important; }.entry-contentulli{font-size:14px!important; }.product_itempa{color:#000;padding:10px0px0px;margin-bottom:5px;border-bottom: none; }

把這段代碼壓縮後就成了這樣

.entry-contentp,.entry-contentulli{font-size:14px!important}.product_itempa{color:#000;padding:10px;margin-bottom:5px;border-bottom:none}

使用壓縮工具可以非常簡單地把無用的位元組從你的 CSS、JS 和 HTML 文件修剪掉。關於壓縮的相關信息,可以參閱如何壓縮 CSS、JS 和 HTML。


4. 使用預先獲取預先獲取可以

在真正需要之前通過取得必需的資源和相關數據來改善訪問用戶的瀏覽體驗,主要有3類預先獲取:

鏈接預先獲取

DNS 預先獲取

預先渲染

在你離開當前 web 頁面之前,使用預先獲取方式,對應每個鏈接的 URL 地址,CSS,圖片和腳本都會被預先獲取。這保證了訪問者能在最短時間內使用鏈接在畫面間切換。

幸運的是,預先獲取很容易實現。根據你想要使用的預先獲取形式,你只需在網站 HTML 中的鏈接屬性上增加 rel="prefetch",rel="dns-prefetch",或者 rel="prerender" 標記。


5. 使用 CDN 和緩存提高速度

內容分發網路能顯著提高網站的速度和性能。使用 CDN 時,您可以將網站的靜態內容鏈接到全球各地的伺服器擴展網路。如果您的網站觀眾遍布全球,這項功能十分有用。 CDN 允許您的網站訪問者從最近的伺服器載入數據。如果您使用 CDN,您網站內的文件將自動壓縮,以便在全球範圍內快速分發。CDN 是一種緩存方法,可極大改善資源的分發時間,同時,它還能實現一些其他的緩存技術,如,利用瀏覽器緩存。

合理地設置瀏覽器緩存,能讓瀏覽器自動存儲某些文件,以便加快傳輸速度。此方法的配置可以直接在源伺服器的配置文件中完成。

了解更多有關緩存和不同類型的緩存方法,請參閱緩存定義。


6. 壓縮文件雖然許多

CDN 服務可以壓縮文件,但如果不使用 CDN,您也可以考慮在源伺服器上使用文件壓縮方法來改進前端優化。 文件壓縮能使網站的內容輕量化,更易於管理。 最常用的文件壓縮方法之一是 Gzip。 這是縮小文檔、音頻文件、PNG圖像和等其他大文件的絕佳方法。

Brotli 是一個比較新的文件壓縮演算法,目前正變得越來越受歡迎。 此開放源代碼演算法由來自 Google 和其他組織的軟體工程師定期更新,現已被證明比其他現有壓縮方法更好用。 這種演算法的支持目前還比較少,但作為後起之秀指日可待。


7. 優化你的圖片

對於那些不懂得前端優化的人來說,圖片可能會是一個「網站殺手」。大量的寫真集和龐大的高清圖片會阻塞網頁渲染速度。沒有優化的高清圖片可能會有幾兆位元組(mb)。因此適當地對它們進行優化可以改善網頁的前端性能。

每個圖像文件都包含了一些與純照片或圖片無關的信息。比如 JPEG 圖片,它包含了日期、地點、相機型號和一些其他不相關的信息。你可以用一些如 Optimus 的優化工具來刪除這些多餘的圖像數據來精簡圖像的冗長的載入過程。因為 Optimus 是一個無損的圖片壓縮工具,它不會影響圖像畫質,只是壓縮圖片體積。

另外,如果你想進一步的優化一張圖片,你可以使用有損壓縮,它會刪除一些圖片裡面的數據,因此質量會受損。


8. 使用輕量級框架

除非你只用現有的編碼知識構建網站,不然,你可以嘗試使用一個好的前端框架來避免許多不必要的前端優化錯誤。雖然有一些更大,更知名的框架能提供更多功能和選項,但它們不一定適合你的 Web 項目。

所以說,不僅確定項目所需功能很重要,選擇合適的框架也很重要——它要在提供所需功能的同時保持輕量。最近許多框架都使用簡潔的 HTML,CSS 和 JavaScript 代碼。

以下是幾項可以加快讀取的輕量級框架:

Pure

Skeleton

Milligram

框架並不能代替網頁設計,編程和維護。舉個簡單的例子,我們假設框架是一個新房子。房子乾淨整潔,但它是空的。在你添加傢具,家電和裝飾品時,你有責任確保房子不會變得凌亂。同樣地,當您使用了一個框架,您就有責任確保它不會被冗餘的代碼,大圖片和過多的 HTTP 請求破壞。

為了幫助大家更好的學習、精進前端技術,提高自身實力,本學習社區現免費開放【前端精英成長計劃】,到目前為止已有包括北上廣深10000+程序員的加入

現在加入,你將得到

海量web前端開發0基礎-精通學習教程視頻

(實時更新,並且可以終生享有免費下載許可權哦)

每天一次免費大咖技術分享課,講技術分享學習經驗

(企業開發規範、瀏覽器性能優化問題統統不用擔心啦)

(今日分享)

500+企業項目特效源碼(含小程序)

(統統備齊)

web前端開發工具包

(再也不用擔心找不齊全了)

開發書籍下載

(和阿里大牛學開發)

【部分資源截圖】

零基礎入門-進階

框架及其他語言

300+特效源碼及項目源碼

領取方式


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 JavaScript 的精彩文章:

Node.js 專題系列

TAG:JavaScript |