目錄
先進的內容優先技術和工具" >先進的內容優先技術和工具
使用PurgeCSS 和Critical 提取關鍵CSS" >使用PurgeCSS 和Critical 提取關鍵CSS
使用Webpack 進行程式碼分割與動態導入" >使用Webpack 進行程式碼分割與動態導入
映像最佳化與響應式影像" >映像最佳化與響應式影像
範例" >範例
首頁 web前端 html教學 面向 Web 開發人員的高階內容優先技術

面向 Web 開發人員的高階內容優先技術

Nov 23, 2023 am 11:17 AM
web前端

建立高效能和響應式網站是 Web 開發人員的首要任務。實現此目的的一種方法是透過內容優先級,這涉及在非關鍵內容之前加載關鍵內容。在本文中,我們將探索先進的技術和工具,幫助 Web 開發人員使用內容優先順序來優化他們的專案。

先進的內容優先技術和工具

使用PurgeCSS 和Critical 提取關鍵CSS

使用PurgeCSS ( https: //purgecss.com/ ) 與Critical ( https://github.com/addyosmani/ritic )僅擷取渲染首屏內容所需的必要CSS規則。 PurgeCSS 刪除未使用的 CSS,而 Critical 提取並內聯關鍵 CSS,從而改進關鍵內容的渲染。

範例

安裝PurgeCSS 與Critical:

npm install purgecss critical
登入後複製

為PurgeCSS 建立設定檔:

// purgecss.config.js
module.exports = {
  content: ['./src/**/*.html'],
  css: ['./src/css/main.css'],
  output: './dist/css/',
};
登入後複製

擷取並內嵌關鍵CSS :

const critical = require('critical').stream;
const purgecss = require('@fullhuman/postcss-purgecss');
const postcss = require('postcss');
// 使用 PurgeCSS 处理 CSS 文件
postcss([
  purgecss(require('./purgecss.config.js')),
])
  .process(cssContent, { from: 'src/css/main.css', to: 'dist/css/main.min.css' })
  .then((result) => {
    // 使用 Critical 内联关键 CSS
    gulp.src('src/*.html')
      .pipe(critical({ base: 'dist/', inline: true, css: ['dist/css/main.min.css'] }))
      .pipe(gulp.dest('dist'));
  });
登入後複製

使用Webpack 進行程式碼分割與動態導入

利用Webpack 中的程式碼分割與動態導入( https://webpack.js.org/guides/code-splitting/ ) 將JavaScript 分解為更小的區塊。這可確保最初僅載入關鍵腳本,而在需要時載入非關鍵腳本。

範例

// webpack.config.js
module.exports = {
  // ...
  optimization: {
    splitChunks: {
      chunks: 'all',
    },
  },
};
// 动态导入的使用
async function loadNonCriticalModule() {
  const nonCriticalModule = await import('./nonCriticalModule.js');
  nonCriticalModule.run();
}
登入後複製

映像最佳化與響應式影像

##

<picture>
  <source srcset="image.webp" type="image/webp">
  <source srcset="image.avif" type="image/avif">
  <img src="image.jpg" alt="Sample image">
</picture>
登入後複製

影像最佳化與響應式影像

使用ImageOptim ( https://imageoptim.com/ ) 或Squoosh ( https://squoosh.app/ ) 等工具來最佳化影像。使用srcset屬性和現代影像格式(例如 WebP 或 AVIF)實現響應式影像,以提高效能。

範例

<!-- 预加载关键资源 -->
<link rel="preload" href="critical.css" as="style">
<!-- 预取非关键资源 -->
<link rel="prefetch" href="non-critical-image.jpg" as="image">
<!-- 预连接到重要的第三方来源 -->
<link rel="preconnect" href="https://fonts.gstatic.com">
登入後複製

資源提示:預先載入、預取與預先連線

rel="preload"使用、 、rel="prefetch"和等資源提示rel="preconnect"來決定關鍵資源載入的優先級,並預取非關鍵資源以供將來導覽。

範例

// workbox.config.js
module.exports = {
  globDirectory: &#39;dist/&#39;,
  globPatterns: [&#39;**/*.{html,js,css,woff2}&#39;],
  swDest: &#39;dist/sw.js&#39;,
};
// 使用 Workbox CLI 生成 Service Worker
npx workbox generateSW workbox.config.js
登入後複製

使用Google Workbox 實作Service Worker

使用Google 的Workbox ( https://developers.google.com/web/tools/workbox ) 設定服務工作執行緒來快取關鍵資源並在後續頁面載入時立即為其提供服務,從而提高效能。

範例

rrreee

###結論#########透過利用先進的內容優先技術和工具,Web 開發人員可以顯著提高其網站的效能和使用者體驗。首先專注於提供關鍵內容並推遲非關鍵內容可以讓用戶快速存取他們需要的資訊。在您的 Web 專案中實施這些先進技術將提高感知效能、降低跳出率並提高使用者參與度。 ###

以上是面向 Web 開發人員的高階內容優先技術的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

web前端有哪些框架 web前端有哪些框架 Aug 23, 2022 pm 03:31 PM

web前端框架有:1、Angular,一個用於創建單一應用程式介面的前端框架;2、react,一個用來建立使用者介面的JavaScript開發框架;3、vue,一套用於建立使用者介面的漸進式JavaScript框架;4、Bootstartp,是基於HTML、CSS、JavaScript的前端框架;5、QUICK UI,一套企業級web前端開發解決方案;6、SUI,一個前端元件庫。

【吐血整理】2023年最新前端面試題大全及答案(收藏) 【吐血整理】2023年最新前端面試題大全及答案(收藏) Jun 29, 2022 am 11:20 AM

本篇文章為大家總結一些值得收藏的精選Web前端面試題(附答案)。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

什麼是web前端工程師 什麼是web前端工程師 Aug 23, 2022 pm 05:10 PM

web前端工程師是從事Web前端開發工作的工程師,主要工作是進行網站的開發、優化、完善;主要職責是利用各種專業技術進行客戶端產品的開發,然後結合後台開發技術模擬整體效果,為網站上提供的產品和服務實現一流的Web介面,優化程式碼並保持良好相容性,致力於透過技術改善用戶體驗。

2023年精選Web前端面試題大全及答案(收藏) 2023年精選Web前端面試題大全及答案(收藏) Apr 08, 2021 am 10:11 AM

本篇文章為大家總結一些值得收藏的精選Web前端面試題(附答案)。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

web前端筆試題庫之HTML篇 web前端筆試題庫之HTML篇 Apr 21, 2022 am 11:56 AM

總結了一些web前端面試(筆試)題分享給大家,這篇文章就先給大家分享HTML部分的筆試題(附答案),大家可以自己做做,看看能答對幾個!

web前端和後端開發有什麼差別 web前端和後端開發有什麼差別 Jan 29, 2023 am 10:27 AM

差別:1.前端指的是使用者可見的介面,後端是指使用者看不見的東西,考慮的是底層業務邏輯的實現,平台的穩定性與效能等。 2.前端開發用到的技術包括html5、css3、js、jquery、Bootstrap、Node.js、Vue等;而後端開發用到的是java、php、Http協定等伺服器技術。 3.從應用範圍來看,前端開發不僅被常人所知,應用場景也要比後端廣泛的太多太多。

如何區分H5,WEB前端,大前端,WEB全端? 如何區分H5,WEB前端,大前端,WEB全端? Aug 03, 2022 pm 04:00 PM

本文帶你快速區分H5、WEB前端、大前端、WEB全棧,希望對需要的朋友有幫助!

web標準預設的連接埠有哪些 web標準預設的連接埠有哪些 Sep 20, 2023 pm 04:05 PM

web標準預設的連接埠有:1、HTTP,預設連接埠號碼為80;2、HTTPS,預設連接埠號碼為443;3、FTP,預設連接埠號碼為21;4、SSH,預設連接埠號碼為22;5、Telnet ,預設連接埠號碼為23;6、SMTP,預設連接埠號碼為25;7、POP3,預設連接埠號碼為110;8、IMAP,預設連接埠號碼為143;9、DNS,預設連接埠號碼為53;10、RDP ,預設連接埠號碼為3389等等。

See all articles