1. Willkommen
In diesem Lab fügen Sie einer vorhandenen Webanwendung eine Streaming-Routenantwort hinzu, um die Leistung zu verbessern. Dies ist das siebte in einer Reihe von Codelabs für den Progressive Web App-Workshop. Das vorherige Codelab war Empowering your PWA. Es gibt noch ein weiteres Codelab in dieser Reihe.
Lerninhalte
- Streamingantwort zu einem Service Worker hinzufügen
Wichtige Informationen
- JavaScript
Voraussetzungen
- Ein Browser, der Service Worker und Streams unterstützt
2. Einrichtung
Klonen oder laden Sie zuerst den Starter-Code herunter, der für dieses Codelab benötigt wird:
Wenn Sie das Repository klonen, achten Sie darauf, dass Sie sich im pwa06--service-worker-includes
-Branch befinden. Die ZIP-Datei enthält auch den Code für diesen Zweig.
Für diese Codebasis ist Node.js 14 oder höher erforderlich. Sobald Sie den Code haben, führen Sie npm ci
über die Befehlszeile im Ordner des Codes aus, um alle erforderlichen Abhängigkeiten zu installieren. Führen Sie dann npm start
aus, um den Entwicklungsserver für das Codelab zu starten.
Die README.md
-Datei des Quellcodes enthält eine Erklärung für alle verteilten Dateien. Außerdem sind die folgenden Dateien wichtig, mit denen Sie in diesem Codelab arbeiten werden:
Schlüsseldateien
js/preview.js
– Vorschau der JavaScript-Datei der Seiteservice-worker.js
: Die Service Worker-Datei der PWA
3. Streaming-Vorschau
Die Vorschauseite lässt sich in drei klare Bereiche unterteilen: den Kopf, den kompilierten Textkörper und den Fuß. Derzeit wird der kompilierte Text clientseitig gerendert, aber es gibt keinen Grund dafür. Verschieben wir es in den Service Worker.
Um den Text zu erstellen, wird eine asynchrone Inhaltssuche durchgeführt. Da asynchrone Vorgänge in einer Navigationsantwort aufwendig sind, bietet es sich an, den bekannten Inhalt zuerst an den Browser zu streamen.
Leeren Sie dazu zuerst den Inhalt in js/preview.js
, damit die Kompilierung nicht mehr erfolgt. Führen Sie dann in service-worker.js
folgende Schritte aus:
- Benannten Export
strategy
ausworkbox-streams
alsstreamsStrategy
importieren - Importieren Sie den benannten Export
openDB
ausidb
und den benannten Exportmarked
ausmarked
. - Fügen Sie vor der Routenregistrierung für Navigationen eine neue Routenregistrierung hinzu.
- Es sollte geprüft werden, ob
pathname
der URL/preview
ist. - Es sollte eine Streamingstrategie verwendet werden, die
- Antworte mit dem Inhalt von
preview/index.html
über den Inhaltsbereich desmain
-Tags. - Antworte mit einer Funktion, die die IndexedDB
settings-store
öffnet, den Inhalt aus demsettings
-Objektspeicher abruft und die gerenderte Markdown-Version dieses Inhalts zurückgibt. - Antworte mit den schließenden Tags
main
,body
undhtml
.
- Antworte mit dem Inhalt von
- Es sollte geprüft werden, ob
Nachdem Sie die Streaming-Antwort eingerichtet haben, kehren Sie zurück und öffnen Sie die Website-Vorschau in Ihrem Browser. Der Seiteninhalt wird jetzt direkt vom Service Worker gerendert. Es ist kein clientseitiger Code erforderlich.
4. Glückwunsch!
Sie haben gelernt, wie Sie Ihre Web-App mithilfe von Service Workern und der Cache Storage API offline verfügbar machen.
Das nächste Codelab in der Reihe ist Mit Workern arbeiten.