Service Worker können an dieser Stelle kompliziert erscheinen. Es gibt viele komplexe Interaktionen, die schwer zu verstehen sind. Netzwerkanfragen! Caching-Strategien Cache-Verwaltung Precaching! Man muss sich vieles merken. Das macht Service Worker nicht zu einer schlechten Technologie; sie funktioniert wie beabsichtigt und löst schwerwiegende Probleme.
Gute Abstraktionen erleichtern die Nutzung komplexer APIs. Hier kommt Workbox ins Spiel. Workbox besteht aus einer Reihe von Modulen, die das allgemeine Routing und Caching von Service Workern vereinfachen. Jedes verfügbare Modul deckt einen bestimmten Aspekt der Service Worker-Entwicklung ab. Workbox zielt darauf ab, die Verwendung von Service Workern so einfach wie möglich zu gestalten und gleichzeitig die Flexibilität zu bieten, bei Bedarf komplexe Anwendungsanforderungen zu erfüllen.
In den einfachsten Fällen bietet workbox-build
eine Reihe von Methoden, mit denen ein Service Worker generiert werden kann, der bestimmte Assets vorab im Cache speichert.
Die Methode generateSW
übernimmt den Großteil der Arbeit bereits, während die Methode injectManifest
bei Bedarf mehr Kontrolle bietet.
Für komplexere Anwendungsfälle können andere Module hilfreich sein. Beispiele für Module:
workbox-routing
für die Anfrage zum Abgleichworkbox-strategies
für Caching-Strategienworkbox-precaching
für das Precaching.workbox-expiration
zum Verwalten von Cachesworkbox-window
zum Registrieren eines Service Workers und Verarbeiten von Aktualisierungen inwindow context
Diese und andere Module helfen, Service Worker-Code deklarativ zusammenzustellen, der einfacher zu lesen und zu pflegen ist als die direkte Verwendung von Service Worker APIs. In dieser Dokumentation wird erläutert, wie Sie diese in Anwendung finden.