Ich versuche, einen Service Worker mit sw-precache einzurichten, um Assets aus CDNJS zu cachen, die offline verwendet werden sollen. Leider scheint das nicht zu funktionieren. Hier ist, was ich bisher:CDN Service Worker
Bevor Sie einer des Scripts geladen wird in index.html
:
<script type='text/javascript'>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/js/service_worker.js')
.then(function() {
console.log("Service Worker Registered")
})
}
</script>
Und hier ist die Gulp Aufgabe, die ich bin mit dem Service Arbeiter zu generieren:
const config = require('../config')
const gulp = require('gulp')
const swPrecache = require('sw-precache')
gulp.task('serviceWorker', (callback) => {
swPrecache.write(config.build.serviceWorker, {
runtimeCaching: [
{
urlPattern: /^https:\/\/cdnjs\.cloudflare\.com/,
handler: 'networkFirst'
}
]
}, callback)
})
Wenn ich die App starte, sehe ich Service Worker Registered
in der Konsole angemeldet. Wenn ich jedoch meine WLAN-Verbindung abbringe, lädt die App die Skripte nicht. Was mache ich falsch?
Das hat den Trick! Danke für die Hilfe. – LandonSchropp