2017-01-06 2 views
0

Ich benutze das sw-precache-webpack-plugin, um einen Servicearbeiter für mein Projekt zu generieren, ich kann alle meine Fonts, js und css Dateien im Cache sehen Speicher, aber nicht die Index/HTML-Datei und es funktioniert nicht, wenn ich offline gehe. Ich bekomme auch eine "Site kann nicht installiert werden: kein passender Service-Mitarbeiter gefunden." wenn ich versuche, zur Startseite im App-Manifest hinzuzufügen.sw-precache-webpack-plugin webpack service arbeiter standardvorlage

Mein Stack ist eine universelle React + Redux-App, mit Express + ejs für die Indexdatei. Ich bin mir nicht sicher, ob es ist, weil ich ejs anstelle einer Standard-HTML-Datei verwende, aber es scheint nicht die Datei zu finden. Gibt es eine Möglichkeit, eine Vorlage anzugeben? Meine sw-precache-webpack-Plugin webpack Einstellung ist:

new SWPrecacheWebpackPlugin({ 
cacheId: 'tester', 
filename: 'my-service-worker.js', 
directoryIndex: '/', 
}), 

Jede Beratung

würde geschätzt

Antwort

2

Sie sind eine Spezifikation einer Caching-Strategie in der Plugin-Konfiguration fehlt.

plugins: [ 
    new SWPrecacheWebpackPlugin({ 
     cacheId: 'tester', 
     filename: 'my-service-worker.js', 
     runtimeCaching: [ 
     { 
      urlPattern: '/', 
      handler: 'cacheFirst', 
     } 
     ] 
    }) 
] 

Dokumentation: https://github.com/GoogleChrome/sw-precache#runtimecaching-arrayobject

+0

Vielen Dank für die Antwort, ich habe gerade einen Build und die Servicemitarbeiter ausgeräumt. Es hat leider nicht funktioniert. –

+0

@GraemePaul Haben Sie es geschafft, dies zu lösen, da ich genau das gleiche Problem habe? – TheoG

+0

@GraemePaul Macht nichts. Die Antwort von Pedro funktioniert tatsächlich. War gerade ein Caching-Problem. – TheoG

Verwandte Themen