Heim  >  Artikel  >  Web-Frontend  >  Fortschrittliche Technologie zur Priorisierung von Inhalten für Webentwickler

Fortschrittliche Technologie zur Priorisierung von Inhalten für Webentwickler

DDD
DDDnach vorne
2023-11-23 11:17:371403Durchsuche

Die Erstellung leistungsstarker und reaktionsfähiger Websites hat für Webentwickler höchste Priorität. Eine Möglichkeit, dies zu erreichen, ist die Priorisierung von Inhalten, bei der kritische Inhalte vor unkritischen Inhalten geladen werden. In diesem Artikel befassen wir uns mit fortgeschrittenen Techniken und Tools, die Webentwicklern dabei helfen, ihre Projekte mithilfe der Priorisierung von Inhalten zu optimieren.

Erweiterte Techniken und Tools zur Inhaltspriorisierung

Kritisches CSS mit PurgeCSS und Critical extrahieren

Verwenden Sie PurgeCSS (https://purgecss.com/) und Critical (https://github.com/addyosmani/ Critical) Extrahiert nur die notwendigen CSS-Regeln, die zum Rendern von „above-the-fold“-Inhalten erforderlich sind. PurgeCSS entfernt ungenutztes CSS, während Critical kritisches CSS extrahiert und einfügt, wodurch die Darstellung kritischer Inhalte verbessert wird.

Beispiel

PurgeCSS und Critical installieren:

npm install purgecss critical

Konfigurationsdatei für PurgeCSS erstellen:

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

Kritisches CSS extrahieren und einbinden:

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'));
  });

Verwenden Webpack für Code-Splitting und dynamischen Import

Nutzung Codeaufteilung und dynamische Importe in Webpack (https://webpack.js.org/guides/code-splitting/), um JavaScript in kleinere Teile aufzuteilen. Dadurch wird sichergestellt, dass zunächst nur kritische Skripte geladen werden und unkritische Skripte bei Bedarf geladen werden.

Beispiele

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

Bildoptimierung und reaktionsfähige Bilder

Optimieren Sie Bilder mit Tools wie ImageOptim (https://imageoptim.com/) oder Squoosh (https://squoosh.app/). Implementieren Sie reaktionsfähige Bilder mithilfe von srcset-Attributen und modernen Bildformaten wie WebP oder AVIF, um die Leistung zu verbessern.

Beispiel

<picture>
  <source srcset="image.webp" type="image/webp">
  <source srcset="image.avif" type="image/avif">
  <img src="image.jpg" alt="Sample image">
</picture>

Ressourcentipps: Vorladen, Vorabrufen und Vorverbinden

rel="preload" Verwenden Sie Ressourcentipps wie , , rel="prefetch" und rel="preconnect", um die kritische Ressourcenbelastung zu ermitteln. Priorisieren und Rufen Sie unkritische Ressourcen für die zukünftige Navigation vorab ab.

Beispiel

<!-- 预加载关键资源 -->
<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">

Verwenden von Google Workbox zum Implementieren von Service Worker

Verwenden Sie Google Workbox ( https://developers.google.com/web/tools/workbox ), um einen Service Worker einzurichten Schlüsselressourcen zwischenspeichern und bei nachfolgenden Seitenladevorgängen sofort bereitstellen, wodurch die Leistung verbessert wird.

Beispiel

// 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

Fazit

Durch den Einsatz fortschrittlicher Techniken und Tools zur Inhaltspriorisierung können Webentwickler die Leistung und Benutzererfahrung ihrer Websites erheblich verbessern. Durch die Konzentration auf die Bereitstellung kritischer Inhalte und das Zurückstellen unkritischer Inhalte können Benutzer schnell auf die benötigten Informationen zugreifen. Durch die Implementierung dieser fortschrittlichen Techniken in Ihre Webprojekte wird die wahrgenommene Leistung verbessert, die Absprungraten reduziert und die Benutzerinteraktion erhöht.

Das obige ist der detaillierte Inhalt vonFortschrittliche Technologie zur Priorisierung von Inhalten für Webentwickler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:dzone.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen