9個(gè)值得收藏的前端優(yōu)化小技巧(提高Web性能)

當(dāng)今數(shù)字世界,存在著無(wú)數(shù)的網(wǎng)站,每天都需要處理各種不同的原因的訪問(wèn)。然而,這些網(wǎng)站中有很大一部分顯得笨重,使用起來(lái)也很麻煩。沒(méi)怎么優(yōu)化的網(wǎng)站會(huì)被各種各樣的問(wèn)題困擾,包括加載時(shí)間、不支持移動(dòng)設(shè)備、瀏覽器兼容性問(wèn)題,等等。

創(chuàng)新互聯(lián)建站專(zhuān)注于仁布網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供仁布營(yíng)銷(xiāo)型網(wǎng)站建設(shè),仁布網(wǎng)站制作、仁布網(wǎng)頁(yè)設(shè)計(jì)、仁布網(wǎng)站官網(wǎng)定制、微信小程序定制開(kāi)發(fā)服務(wù),打造仁布網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供仁布網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

這篇文章講述可以幫助改善優(yōu)化前端的技術(shù),非常有用。主要內(nèi)容有清理代碼、壓縮圖片、壓縮外部資源、使用 CDN,以及一些其它方法。這些方法會(huì)為你的網(wǎng)站帶顯著的速度提升和整體性能提升。

1. 清理 HTML 文檔

HTML,即超文本標(biāo)記語(yǔ)言,幾乎是所有網(wǎng)站的支柱。HTML 為網(wǎng)頁(yè)帶來(lái)標(biāo)題、子標(biāo)題、列表和其它一些文檔結(jié)構(gòu)的格式。在最近更新的 HTML5 中,甚至可以創(chuàng)建圖表。

HTML 很容易被網(wǎng)絡(luò)爬蟲(chóng)識(shí)別,因此搜索引擎可以根據(jù)網(wǎng)站的內(nèi)容在一定程度上實(shí)時(shí)更新。在寫(xiě) HTML 的時(shí)候,你應(yīng)該嘗試讓它簡(jiǎn)潔而有效。此外,在 HTML 文檔中引用外部資源的時(shí)候也需要遵循一些實(shí)踐方法。

恰當(dāng)放置 CSS

Web 設(shè)計(jì)者喜歡在網(wǎng)頁(yè)建立起主要的 HTML 骨架之后再來(lái)創(chuàng)建樣式表。這樣一來(lái),網(wǎng)頁(yè)中的樣式表往往會(huì)放在 HTML 的后面,接近文檔結(jié)束的地方。然而推薦的做法是把 CSS 放在 HTML 的上面部分,文檔頭之內(nèi),這可以確保正常的渲染過(guò)程。

<head>
</head>

這個(gè)策略不能提高網(wǎng)站的加載速度,但它不會(huì)讓訪問(wèn)者長(zhǎng)時(shí)間看著空白屏幕或者無(wú)格式的文本(FOUT)等待。如果網(wǎng)頁(yè)大部分可見(jiàn)元素已經(jīng)加載出來(lái)了,訪問(wèn)者才更有可能等待加載整個(gè)頁(yè)面,從而帶來(lái)對(duì)前端的優(yōu)化效果。這就是知覺(jué)性能。

如果你想學(xué)習(xí)前端可以來(lái)這個(gè)群,首先是二九一,中間是八五一,最后是一八九,里面可以學(xué)習(xí)和交流,也有大量的學(xué)習(xí)資料可以下載。

正確放置 Javascript

另一方面,如果將 JavaScript 放置在 head 標(biāo)簽內(nèi)或 HTML 文檔的上部,這會(huì)阻塞 HTML 和 CSS 元素的加載過(guò)程。這個(gè)錯(cuò)誤會(huì)導(dǎo)致頁(yè)面加載時(shí)間增長(zhǎng),增加用戶(hù)等待時(shí)間,容易讓人感到不耐煩而放棄對(duì)網(wǎng)站的訪問(wèn)。不過(guò),您可以通過(guò)將 JavaScript 屬性置于 HTML 底部來(lái)避免此問(wèn)題。

此外,在使用 JavaScript 時(shí),人們通常喜歡用異步腳本加載。這會(huì)阻止<script>標(biāo)簽在 HTML 中的呈現(xiàn)過(guò)程,如,在文檔中間的情況。

雖然對(duì)于網(wǎng)頁(yè)設(shè)計(jì)師來(lái)說(shuō), HTML 是最值得使用的工具之一,但它通常要與 CSS 和 JavaScript 一起使用,這可能會(huì)導(dǎo)致網(wǎng)頁(yè)瀏覽速度減慢。 雖然 CSS 和 JavaScript 有利于網(wǎng)頁(yè)優(yōu)化,但使用時(shí)也要注意一些問(wèn)題。使用 CSS 和 JavaScript 時(shí),要避免嵌入代碼。因?yàn)楫?dāng)您嵌入代碼時(shí),要將 CSS 放置在樣式標(biāo)記中,并在腳本標(biāo)記中使用 JavaScript,這會(huì)增加每次刷新網(wǎng)頁(yè)時(shí)必須加載的 HTML 代碼量。

綁定文件? 不用擔(dān)心

在過(guò)去,你可能會(huì)頻繁綁定 CSS 腳本到單個(gè)文件,以在 HTML 代碼中引用外部文件。在使用 HTTP1.1 協(xié)議時(shí),這是一項(xiàng)合理的實(shí)踐,然而這一協(xié)議不再是必需的。

感謝 HTTP/2,現(xiàn)在你可以通過(guò)使用多路技術(shù)將單個(gè) TCP 連接以異步方式收發(fā) HTTP 請(qǐng)求和響應(yīng)。

圖片來(lái)源: http://qnimate.com

這意味著你不再需要頻繁地將多個(gè)腳本綁定到單個(gè)文件。

2. 優(yōu)化 CSS 性能

CSS,即級(jí)聯(lián)樣式表,能從 HTML 描述的內(nèi)容生成專(zhuān)業(yè)而又整潔的文件。很多 CSS 需要通過(guò) HTTP 請(qǐng)求來(lái)引入(除非使用內(nèi)聯(lián) CSS),所以你要努力去除累贅的 CSS 文件,但要注意保留其重要特征。

如果你的 Banner、插件和布局樣式是使用 CSS 保存在不同的文件內(nèi),那么,訪問(wèn)者的瀏覽器每次訪問(wèn)都會(huì)加載很多文件。雖然現(xiàn)在 HTTP/2 的存在,減少了這種問(wèn)題的發(fā)生,但是在外部資源加載的情況下,仍會(huì)花費(fèi)較長(zhǎng)時(shí)間。要了解如何減少 HTTP 請(qǐng)求以大幅度縮減加載時(shí)間,請(qǐng)閱讀WordPress 性能。

此外,不少網(wǎng)站管理員在網(wǎng)頁(yè)中錯(cuò)誤的使用 @import 指令 來(lái)引入外部樣式表。這是一個(gè)過(guò)時(shí)的方法,它會(huì)阻止瀏覽并行下載。link 標(biāo)簽才是最好的選擇,它也能提高網(wǎng)站的前端性能。多說(shuō)一句,通過(guò) link 標(biāo)簽請(qǐng)求加載的外部樣式表不會(huì)阻止并行下載。

3.減少外部HTTP請(qǐng)求

在很多情況下,網(wǎng)站的大部分加載時(shí)間來(lái)自于外部的 Http 請(qǐng)求。外部資源的加載速度隨著主機(jī)提供商的服務(wù)器架構(gòu)、地點(diǎn)等不同而不同。減少外部請(qǐng)求要做的第一步就是簡(jiǎn)略地檢查網(wǎng)站。研究你網(wǎng)站的每個(gè)組成部分,消除任何影響訪問(wèn)者體驗(yàn)不好的成分。這些成分可能是:

不必要的圖片

沒(méi)用的 JavaScript 代碼

過(guò)多的 css

多余的插件

在你去掉這些多余的成分之后,再對(duì)剩下的內(nèi)容進(jìn)行整理,如,壓縮工具、CDN 服務(wù)和預(yù)獲?。╬refetching)等,這些都是管理 HTTP 請(qǐng)求的選擇。除此之外,減少DNS路由查找教程會(huì)教你如何一步一步的減少外部 HTTP 請(qǐng)求。

4. 壓縮 CSS, JS 和 HTML

壓縮技術(shù)可以從文件中去掉多余的字符。你在編輯器中寫(xiě)代碼的時(shí)候,會(huì)使用縮進(jìn)和注釋?zhuān)@些方法無(wú)疑會(huì)讓你的代碼簡(jiǎn)潔而且易讀,但它們也會(huì)在文檔中添加多余的字節(jié)。

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

.entry-content p {

font-size: 14px !important;

}

.entry-content ul li {

font-size: 14px !important;

}

.product_item p a {

color: #000;

padding: 10px 0px 0px 0;

margin-bottom: 5px;

border-bottom: none;

}

把這段代碼壓縮后就成了這樣。

.entry-content p,.entry-content ul li{font-size:14px!important}.product_item p a{color:#000;padding:10px 0 0;margin-bottom:5px;border-bottom:none}

使用壓縮工具可以非常簡(jiǎn)單地把無(wú)用的字節(jié)從你的 CSS、JS 和 HTML 文件修剪掉。關(guān)于壓縮的相關(guān)信息,可以參閱如何壓縮 CSS、JS 和 HTML。

5. 使用預(yù)先獲取

預(yù)先獲取可以在真正需要之前通過(guò)取得必需的資源和相關(guān)數(shù)據(jù)來(lái)改善訪問(wèn)用戶(hù)的瀏覽體驗(yàn),主要有3類(lèi)預(yù)先獲取:

鏈接預(yù)先獲取

DNS 預(yù)先獲取

預(yù)先渲染

在你離開(kāi)當(dāng)前 web 頁(yè)面之前,使用預(yù)先獲取方式,對(duì)應(yīng)每個(gè)鏈接的 URL 地址,CSS,圖片和腳本都會(huì)被預(yù)先獲取。這保證了訪問(wèn)者能在最短時(shí)間內(nèi)使用鏈接在畫(huà)面間切換。

幸運(yùn)的是,預(yù)先獲取很容易實(shí)現(xiàn)。根據(jù)你想要使用的預(yù)先獲取形式,你只需在網(wǎng)站 HTML 中的鏈接屬性上增加 rel=”prefetch”,rel=”dns-prefetch”,或者 rel=”prerender” 標(biāo)記。

如果你想學(xué)習(xí)前端可以來(lái)這個(gè)群,首先是二九一,中間是八五一,最后是一八九,里面可以學(xué)習(xí)和交流,也有大量的學(xué)習(xí)資料可以下載。

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

內(nèi)容分發(fā)網(wǎng)絡(luò)能顯著提高網(wǎng)站的速度和性能。使用 CDN 時(shí),您可以將網(wǎng)站的靜態(tài)內(nèi)容鏈接到全球各地的服務(wù)器擴(kuò)展網(wǎng)絡(luò)。如果您的網(wǎng)站觀眾遍布全球,這項(xiàng)功能十分有用。 CDN 允許您的網(wǎng)站訪問(wèn)者從最近的服務(wù)器加載數(shù)據(jù)。如果您使用 CDN,您網(wǎng)站內(nèi)的文件將自動(dòng)壓縮,以便在全球范圍內(nèi)快速分發(fā)。

CDN 是一種緩存方法,可極大改善資源的分發(fā)時(shí)間,同時(shí),它還能實(shí)現(xiàn)一些其他的緩存技術(shù),如,利用瀏覽器緩存。

合理地設(shè)置瀏覽器緩存,能讓瀏覽器自動(dòng)存儲(chǔ)某些文件,以便加快傳輸速度。此方法的配置可以直接在源服務(wù)器的配置文件中完成。

了解更多有關(guān)緩存和不同類(lèi)型的緩存方法,請(qǐng)參閱緩存定義。

7. 壓縮文件

雖然許多 CDN 服務(wù)可以壓縮文件,但如果不使用 CDN,您也可以考慮在源服務(wù)器上使用文件壓縮方法來(lái)改進(jìn)前端優(yōu)化。 文件壓縮能使網(wǎng)站的內(nèi)容輕量化,更易于管理。 最常用的文件壓縮方法之一是 Gzip。 這是縮小文檔、音頻文件、PNG圖像和等其他大文件的絕佳方法。

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

了解更多信息,請(qǐng)閱讀我們有關(guān) Brotli 壓縮的完整文章。

對(duì)于那些不懂得前端優(yōu)化的人來(lái)說(shuō),圖片可能會(huì)是一個(gè)“網(wǎng)站殺手”。大量的寫(xiě)真集和龐大的高清圖片會(huì)阻塞網(wǎng)頁(yè)渲染速度。沒(méi)有優(yōu)化的高清圖片可能會(huì)有幾兆字節(jié)(mb)。因此適當(dāng)?shù)貙?duì)它們進(jìn)行優(yōu)化可以改善網(wǎng)頁(yè)的前端性能。

每個(gè)圖像文件都包含了一些與純照片或圖片無(wú)關(guān)的信息。比如 JPEG 圖片,它包含了日期、地點(diǎn)、相機(jī)型號(hào)和一些其他不相關(guān)的信息。你可以用一些如 Optimus 的優(yōu)化工具來(lái)刪除這些多余的圖像數(shù)據(jù)來(lái)精簡(jiǎn)圖像的冗長(zhǎng)的加載過(guò)程。因?yàn)?Optimus 是一個(gè)無(wú)損的圖片壓縮工具,它不會(huì)影響圖像畫(huà)質(zhì),只是壓縮圖片體積。

另外,如果你想進(jìn)一步的優(yōu)化一張圖

片,你可以使用有損壓縮,它會(huì)刪除一些圖片里面的數(shù)據(jù),因此質(zhì)量會(huì)受損。

進(jìn)一步的學(xué)習(xí)有損和無(wú)損壓縮之間的區(qū)別,請(qǐng)閱讀我們完整的教程。

9. 使用輕量級(jí)框架

除非你只用現(xiàn)有的編碼知識(shí)構(gòu)建網(wǎng)站,不然,你可以嘗試使用一個(gè)好的前端框架來(lái)避免許多不必要的前端優(yōu)化錯(cuò)誤。雖然有一些更大,更知名的框架能提供更多功能和選項(xiàng),但它們不一定適合你的 Web 項(xiàng)目。

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

以下是幾項(xiàng)可以加快讀取的輕量級(jí)框架:

Pure

Skeleton

Milligram

框架并不能代替網(wǎng)頁(yè)設(shè)計(jì),編程和維護(hù)。舉個(gè)簡(jiǎn)單的例子,我們假設(shè)框架是一個(gè)新房子。房子干凈整潔,但它是空的。在你添加家具,家電和裝飾品時(shí),你有責(zé)任確保房子不會(huì)變得凌亂。同樣地,當(dāng)您使用了一個(gè)框架,您就有責(zé)任確保它不會(huì)被冗余的代碼,大圖片和過(guò)多的 HTTP 請(qǐng)求破壞。

前端優(yōu)化 – 總結(jié)

進(jìn)行前端優(yōu)化似乎需要花費(fèi)很大的精力,相信這篇應(yīng)用指南中的一些小技巧能幫你極大改善網(wǎng)站加載速度。網(wǎng)站加載地越快,則用戶(hù)體驗(yàn)越佳。因此, 對(duì)前端進(jìn)行優(yōu)化能使給你和你的用戶(hù)都帶來(lái)益處。如果你有任何其他好的優(yōu)化方法,請(qǐng)?jiān)谠u(píng)論區(qū)留下您的寶貴建議。

本文轉(zhuǎn)載自:https://blog.csdn.net/lin123_00/article/details/106652145

想要獲取更多相關(guān)知識(shí),請(qǐng)?jiān)L問(wèn):PHP中文網(wǎng)!

文章名稱(chēng):9個(gè)值得收藏的前端優(yōu)化小技巧(提高Web性能)
文章源于:http://www.muchs.cn/article48/cjjphp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣定制開(kāi)發(fā)、搜索引擎優(yōu)化定制網(wǎng)站、靜態(tài)網(wǎng)站、App開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)