2016-05-26 21 views
0

Ich verwende sw-precache, um das Vor-Caching aller statischen Ressourcen einer Angular-App zu ermöglichen. Ich verstand die sw-precache concept of versioning by calculating the MD5 hash which is used to determine whether the file has changed or not.Cache-Busting durch sw-Precache auf bereits versionierten Bundle-Dateien

Aber ich frage mich, wie wir Versionierung/Cachebusting durch sw-precache auf Bundle-Datei (zB bundle.877095ebde8.js), die erzeugt durch Multiples Dateien verketten und minify sie und Versionierung Datei handhaben.

In diesem Fall wird anstelle von Dateiinhalt die gesamte Datei bei jeder Änderung geändert und eine neue Versionierungsdatei erstellt, weshalb navigator.serviceWorker.controller immer null zurückgibt.

Antwort

0

Service worker.controller ist nicht immer null. Sw-precache erstellt Ihnen einen neuen Service-Mitarbeiter, wenn Sie diese Dateien ändern, und der Browser wird aktualisiert, um den neuen Service-Mitarbeiter zu verwenden.

Zugegeben, es scheint, als könnte es in diesem Szenario eine intelligentere Versionierung für sw-precache geben - vielleicht ein Problem im Repo aufwerfen.

+0

Siehe https://github.com/GoogleChrome/sw-precache/issues/40 –