中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
前端 Web 性能清單
userphoto

2023.05.12 安徽

關注
  • 💂 個人網(wǎng)站:【海擁】【摸魚游戲】【神級源碼資源網(wǎng)
  • 🤟 前端學習課程:👉【28個案例趣學前端】【400個JS面試題
  • 💅 想尋找共同學習交流、摸魚劃水的小伙伴,請點擊【摸魚學習交流群

提高 Web 應用程序的性能是很重要的。我們希望頁面加載得更快、更流暢,并且沒有太多的布局變化。在這篇文章中,我想將關于這些的所有知識一一列出來。

預加載密鑰請求/預連接到所需的源

在你的 HTML 中聲明預加載鏈接,以指示瀏覽器盡快下載關鍵資源。

<head>
  <link rel="preload" href="critical.css" as="style">
  <link rel="preload" href="critical.js" as="script">
</head>

考慮添加 preconnect 或 dns-prefetch 資源提示以建立與重要第三方來源的早期連接。

<link rel="preconnect" href="https://example.com">
<link rel="dns-prefetch" href="https://example.com">.

dns-prefetch 的工作方式與 preconnect 完全相同,但具有更廣泛的瀏覽器支持。

減少第三方使用

第三方代碼會顯著影響加載性能。但是,你可以通過以下方式修改你使用此第三方庫的方式:

  • 使用 async 或 defer 屬性加載腳本以避免阻塞文檔解析。
  • 如果第三方服務器速度慢,則自行托管腳本。
  • 如果腳本沒有為你的站點增加明確的價值,請將其刪除。
  • 使用 link rel=preconnectlink rel=dns-prefetch 對托管第三方腳本的域執(zhí)行 DNS 查找。

消除渲染阻塞資源

資源阻止了頁面的第一次繪制??紤]內聯(lián)交付關鍵的 JS/CSS 并推遲所有非關鍵的 JS/樣式。你可以通過僅提供所需的代碼和樣式來減小頁面的大小。

確定關鍵代碼后,將該代碼從呈現(xiàn)阻止 URL 移動到 HTML 頁面中的內聯(lián)腳本標記。

在 HTML 頁面頭部的樣式塊中內嵌第一次繪制所需的關鍵樣式,并使用預加載鏈接異步加載其余樣式。

縮小/刪除不必要的 CSS 和 JS

當你構建一個大型應用程序時,你將到達一個地方,你的項目可能有更多它實際需要和使用的代碼。

使用CSS Minification或Terser JS Plugin等工具。

要消除未使用的 css,可以使用PurgeCSS之類的工具。

要消除不必要的 JavaScript,你可以使用前面提到的 Terser 或利用Tree Shaking來消除死代碼。你還可以使用代碼拆分,它將代碼拆分為可以按需加載的包。

掃描模塊以查找重復項

從包中刪除大型重復的 JavaScript 模塊以減少最終包的大小。


使用Webpack 捆綁分析器

減少執(zhí)行時間

代碼拆分、縮小和壓縮、刪除未使用代碼和緩存技術的結合將大大縮短執(zhí)行時間。

考慮減少解析、編譯和執(zhí)行 JS 所花費的時間。你可能會發(fā)現(xiàn)交付較小的 JS 有效負載有助于此。
這個想法是優(yōu)化我們的 JS 和 CSS 代碼,最小化它并刪除未使用的代碼,以及我們正在使用的第三方庫。

保持主文檔的服務器響應時間較短,因為所有其他請求都依賴于它。

圖像處理

適當大小的圖像

提供適當大小的圖像以保存蜂窩數(shù)據(jù)并縮短加載時間。

<img src="cat-large.jpg" srcset="cat-small.jpg 480w, cat-large.jpg 1080w" sizes="50vw">

高效編碼圖像

優(yōu)化的圖像加載速度更快,消耗的蜂窩數(shù)據(jù)更少。
使用你的圖像 CDN 服務或圖像壓縮應該就足夠了。

以下一代格式提供圖像

WebP 或 Avif 等圖像格式通常提供比 PNG 或 JPEG 更好的壓縮,這意味著下載速度更快,數(shù)據(jù)消耗更少。

圖像元素具有明確的寬度和高度

在圖像元素上設置明確的寬度和高度,以減少布局偏移并改善 CLS。

預加載最大內容繪畫 (LCP)

預加載 LCP 元素使用的圖像以縮短 LCP 時間。

<link rel="preload" href="/path/to/image.jpg" as="image">
head() {
 return {
    link: [
      {
        rel: 'preload',
        as: 'image',
        href: 'path/to/lcp/image',
      },
    ],
  }
}

字體

在 webfont 加載期間所有文本仍然可見
利用字體顯示 CSS 功能確保文本在加載網(wǎng)絡字體時用戶可見。

@font-face {
  font-family: 'Arial';
  font-display: swap;
}

font-display API 指定字體的顯示方式。swap 告訴瀏覽器使用該字體的文本應該立即使用系統(tǒng)字體顯示。自定義字體準備就緒后,它將替換系統(tǒng)字體。

例如,對于 Google 字體,只需將 &display=swap 參數(shù)添加到 Google 字體 URL 的末尾即可:

<link href="https://fonts.googleapis.com/css?family=Roboto:400,700&**display=swap**" rel="stylesheet">

要避免什么?

大的布局變化

Cumulative Layout Shift (CLS) 是一項 Core Web Vitals 指標,通過對不是由用戶交互引起的所有布局偏移求和來計算。

避免過大的 DOM 大小

大型 DOM 會增加內存使用量,導致更長的樣式計算,并產(chǎn)生代價高昂的布局回流。

多個頁面重定向

重定向在頁面加載之前引入了額外的延遲。

為現(xiàn)代瀏覽器提供遺留 JavaScript

Polyfill 和轉換使舊版瀏覽器能夠使用新的 JavaScript 功能。但是,對于現(xiàn)代瀏覽器來說,很多都不是必需的。

巨大的網(wǎng)絡有效載荷

大型網(wǎng)絡有效載荷使用戶付出了真金白銀,并且與較長的加載時間高度相關。

  • 推遲請求直到需要它們。
  • 將請求優(yōu)化到盡可能小,最小化和壓縮,盡可能使用 WebP 處理圖像。圖片 CDN 將始終保持我們的性能!
  • 緩存請求,這樣頁面就不會在重復訪問時重新下載資源。

document.write()

對于連接速度較慢的用戶,通過 document.write() 動態(tài)注入的外部腳本會使頁面加載延遲數(shù)十秒。

非合成動畫

未合成的動畫可能很重并會增加 CLS。請改用translate和scaleCSS 屬性。

概括

你現(xiàn)在對提高 Web 性能有了更多的了解。請記住,提高性能不是你可以坐下來解決的問題。這是一個持續(xù)的過程,應該定期解決性能問題,這樣你網(wǎng)站的新功能(肯定需要)不會破壞性能。

好書推薦

《前端工程化:基于Vue.js 3.0的設計與實踐》

本書以Vue.js的3.0版本為核心技術棧,圍繞“前端工程化”和TypeScript的知識點展開講解,根據(jù)筆者多年的前端開發(fā)和一線團隊管理經(jīng)驗,將Vue 3的知識點按照工程師做項目的實施順序梳理成章,一步一步幫助讀者進行前端工程化和Vue 3的開發(fā)。從前端工程化開始到TypeScript語言的學習,再到使用TypeScript開發(fā)Vue 3項目,通過循序漸進的學習過程提升讀者在前端工程化領域的實戰(zhàn)能力。

📚 京東自營購買鏈接:《前端工程化:基于Vue.js 3.0的設計與實踐》

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【第685期】如何運用最新的技術提升網(wǎng)頁速度和性能
頁面加載速度優(yōu)化的12個建議
黑馬程序員pink老師前端入門教程,零基礎必看的h5(html5)+css3+移動端前端視頻教程
3年多前端菜雞的面試及知識梳理(一)
vue.js移動端app實戰(zhàn)1:初始配置
歷年前端經(jīng)典面試題
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服