From 3987c4e681487f4744c0fd9c78f10950876f6c64 Mon Sep 17 00:00:00 2001 From: William Blythe Date: Tue, 13 Nov 2018 09:11:43 +1100 Subject: [PATCH] maybe an actually good service worker for once --- src/sw.js | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/src/sw.js b/src/sw.js index 7ba222e4..5eb5d3e0 100644 --- a/src/sw.js +++ b/src/sw.js @@ -3,6 +3,14 @@ console.log('Hello from sw.js'); if (workbox) { console.log('Yay! Workbox is loaded 🎉'); workbox.precaching.precacheAndRoute(self.__precacheManifest); + + workbox.routing.registerNavigationRoute('/index.html'); + + workbox.routing.registerRoute( + new RegExp('/(.*?)'), + workbox.strategies.staleWhileRevalidate() + ); + workbox.routing.registerRoute( new RegExp('https://fonts.(?:googleapis|gstatic).com/(.*)'), workbox.strategies.cacheFirst({ @@ -41,23 +49,3 @@ self.addEventListener('message', event => { break; } }); -const OFFLINE_URL = '/'; -self.addEventListener('fetch', function(event) { - console.log('Handling fetch event for', event.request.url); - - event.respondWith( - caches.match(event.request).then(function(response) { - if (response) { - return response; - } - - return fetch(event.request) - .then(function(response) { - return response; - }) - .catch(function(error) { - return caches.match(OFFLINE_URL); - }); - }) - ); -});