Ich verwende sw-precache und sw-toolbox, um meinen Service-Mitarbeiter zu verwalten. Lassen Sie uns sagen, dass ich eine CSS-Datei, die ichCache-Busting, bei dem der Service-Mitarbeiter nicht unterstützt wird
staticFileGlobs: ['public/asset/build/css/m_index.min.css']
gecached werden sollen Es gets hinzugefügt, um die Servicemitarbeiter auf Lauf schluck Aufgabe als
var precacheConfig = [["public/asset/build/css/m_college.min.css","8d9b0e69820ba2fab83c45e2884bd61f"]
Der Hash der Datei hilft mir in Cachebusting wenn Service Arbeiter ist registriert. Alles funktioniert gut.
Betrachten Sie nun eine Situation, in der ein bestimmter PC oder Benutzer oder Browser den Service Worker nicht registrieren kann und die Datei ihm jedes Mal über das Netzwerk zugestellt wird. In diesem Fall wird die Datei im Speicher des Browsers gespeichert, da standardmäßig kein Cache-Fehler auftritt. Und es könnte die alte Datei diesem Benutzer lebenslang zuführen, selbst nachdem der Entwickler die Datei aktualisiert hat.
Wie ist der Umgang mit diesem Szenario?
Haben Sie einen sehr wichtigen Grund, einzelne Dateinamen für verschiedene Versionen (z. B. m_index.ajflhyow3uhkahfa.min.css) der Dateien nicht zu verwenden? Das würde das Problem für alle Besucher lösen. – pate