Ich versuche, sw-precache
zu erhalten, externe CDN-Ressourcen vorab zu cachen, aber die generierte service-worker.js enthält nicht die CDN-URLs im Array precacheConfig
.Zwischenspeichern externer Ressourcen mit sw-Precache
Dies ist, was ich in meinem gulpfile
haben:
staticFileGlobs: [
'http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css',
'client/assets/**/*.{js,html,css,png,jpg,gif,svg,eot,ttf,woff,ico}'
]
Die Dateien in meinem lokalen client/assets
Ordner in den precacheConfig
Array hinzugefügt werden, aber die externe font-awesome CSS nicht. Gibt es einen Weg, dies zu erreichen?
Vielen Dank für Ihre Antwort. Ich habe bereits eine runtimeCaching URLPattern wie Sie vorgeschlagen, mein Problem aufgetreten, wenn ein Benutzer zum ersten Mal auf meine PWA zugreifen würde (Pre-Caching alles in staticFileGlobs) und dann beim zweiten Besuch offline zugegriffen. Der font-awesome wurde nie vom Service-Mitarbeiter heruntergeladen, da der Browser ihn nur dann heruntergeladen hat, wenn der Service-Mitarbeiter noch installiert hat (dh das runtimeCaching wurde noch nicht benutzt). – zeosamaster
Ich hatte bereits überlegt, eine lokale Kopie zu verwenden, aber ich fragte mich, ob es einen Weg gab, es zu vermeiden. Ich werde diesen Ansatz verwenden, wie du es vorgeschlagen hast. Danke für Ihre Notiz, ich war mir dessen nicht bewusst :) – zeosamaster
@zeodamaster hacken um das, indem Sie einen versteckten iframe laden, der Ihre Seite enthält, nachdem der Service-Arbeiter installiert – oligofren