Obwohl ich vertraut bin mit Sw-precache
und Sw-toolbox
Bibliotheken, noch Puzzle auf, wie man dynamische Abhängigkeiten beim Erstellen von Progressive Web App mit Angular.Wie können Abhängigkeiten von dynamischen URLs durch Service Worker aufgelöst werden?
Ich habe bundle.js, bundle.css und einige statische Vorlagen für meine Anwendung mit dem Sw-Precache-Build-Prozess zwischengespeichert. (Nehmen Sie alle meine Vorlagen (HTML-Dateien) sind abhängig von bundle.js und bundle.css)
Was passiert, wenn ich meine Vorlage aktualisieren, die nicht vorgezwischengespeichert? Wie stelle ich sicher, dass bundle.js/css in Verbindung mit meiner Vorlage aktualisiert wird.
Was passiert, wenn ich meine Vorlage, die bereits im Cache gespeichert ist, aktualisiere? Wird es immer in Verbindung mit vorcached bundle.js/css-Dateien aktualisiert?
Letzter Anwendungsfall, Wenn meine Vorlage bereits im Cache gespeichert ist, aber ein Inline-Skript mit dem Attribut src vorhanden ist und diese Skriptdatei nirgendwo zwischengespeichert wird. Angenommen, ich habe sowohl in der Vorlage als auch in der Skriptdatei einige Änderungen vorgenommen. Welcher Caching-Ansatz sollte ich befolgen, um sicherzustellen, dass die Vorlagendatei in Verbindung mit der Skriptdatei aktualisiert wird.
Wir sind nicht reine Architektur App-Schale folgen, entworfen Es ist wie Single-Seiten-App Angularjs mit
Service-Mitarbeiter hat seinen eigenen Lebenszyklus zu aktualisieren. Was, wenn Vorlagen, die nicht precached, aus dem Netzwerk abgerufen und es ist abhängig CSS/js (preached) wird zu diesem Zeitpunkt nicht aufgrund sone aktiviert Ereignis nicht ausgelöst. ? Hast du mich verstanden? –
Nun, wenn Sie die HTML-Seite Server, wird es nicht diese neuen Assets anfordern, bis der Service Worker aktualisiert wird, die die HTML-Seite aktualisiert, die dann die neuesten Assets zieht. Wenn Sie dynamische Inhalte verwalten möchten, dann sollten Sie in sw-Precache Folgendes betrachten: https://github.com/GoogleChrome/sw-precache#runtimecaching-arrayobject –