Fortschrittliche Technologie zur Priorisierung von Inhalten für Webentwickler

DDD
Freigeben: 2023-11-23 11:25:23
nach vorne
1396 Leute haben es durchsucht

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
Nach dem Login kopieren

Konfigurationsdatei für PurgeCSS erstellen:

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

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'));
  });
Nach dem Login kopieren

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();
}
Nach dem Login kopieren

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>
Nach dem Login kopieren

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">
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:dzone.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!