This commit is contained in:
William Blythe
2018-10-23 12:41:56 +11:00
parent a2ab708ac9
commit 7d99471f89

View File

@@ -16,24 +16,7 @@ if (workbox) {
] ]
}) })
); );
workbox.routing.registerRoute(
/\.(?:png|gif|jpg|jpeg|svg)$/,
workbox.strategies.cacheFirst({
cacheName: 'images',
plugins: [
new workbox.expiration.Plugin({
maxEntries: 60,
maxAgeSeconds: 30 * 24 * 60 * 60 // 30 Days
})
]
})
);
workbox.routing.registerRoute(
/\.(?:js|css)$/,
workbox.strategies.staleWhileRevalidate({
cacheName: 'static-resources'
})
);
try { try {
workbox.googleAnalytics.initialize(); workbox.googleAnalytics.initialize();
} catch (e) { } catch (e) {
@@ -43,38 +26,37 @@ if (workbox) {
console.log('Boo! Workbox didn\'t load 😬'); console.log('Boo! Workbox didn\'t load 😬');
} }
self.addEventListener('message', event => { self.addEventListener('message', event => {
if (!event.data) { if (!event.data) {
return; return;
} }
switch (event.data) { switch (event.data) {
case 'skipWaiting': case 'skipWaiting':
self.skipWaiting(); self.skipWaiting();
break; break;
default: default:
// NOOP // NOOP
break; break;
} }
}); });
const OFFLINE_URL = '/'; const OFFLINE_URL = '/';
self.addEventListener('fetch', function(event) { self.addEventListener('fetch', function(event) {
console.log('Handling fetch event for', event.request.url); console.log('Handling fetch event for', event.request.url);
event.respondWith( event.respondWith(
caches.match(event.request).then(function(response) { caches.match(event.request).then(function(response) {
if (response) { if (response) {
return response; return response;
} }
return fetch(event.request) return fetch(event.request)
.then(function(response) { .then(function(response) {
return response; return response;
}) })
.catch(function(error) { .catch(function(error) {
return caches.match(OFFLINE_URL); return caches.match(OFFLINE_URL);
}); });
}) })
); );
}); });