diff --git a/assets/service-worker.js b/assets/service-worker.js index 4ef5972..3ef31a2 100644 --- a/assets/service-worker.js +++ b/assets/service-worker.js @@ -1,4 +1,4 @@ -var cacheName = 'hugo-nuo-v2'; +var cacheName = 'hugo-nuo-v5'; var filesToCache = [ '404.html', 'favicon.ico', @@ -44,26 +44,45 @@ self.addEventListener('install', event => { event.waitUntil(caches.open(cacheName).then(cache => cache.addAll(filesToCache))); }); -// Serve files from the cache +// network first self.addEventListener('fetch', event => { event.respondWith( - caches - .match(event.request) - .then(response => { - if (response) return response; - return fetch(event.request); - }) - .then(response => { - if (response.status === 404) return caches.match('404.html'); - return caches.open(cacheName).then(cache => { - cache.put(event.request.url, response.clone()); + caches.open(cacheName).then(function(cache) { + return fetch(event.request) + .then(function(response) { + if (response.status === 404) return caches.match('404.html'); + cache.put(event.request, response.clone()); return response; + }) + .catch(function() { + return caches.match(event.request); }); - }) - .catch(error => console.log('Error, ', error)), + }), ); }); +// cache-first +// If you want to use cache first, you should change cacheName manually + +// self.addEventListener('fetch', event => { +// event.respondWith( +// caches +// .match(event.request) +// .then(response => { +// if (response) return response; +// return fetch(event.request); +// }) +// .then(response => { +// if (response.status === 404) return caches.match('404.html'); +// return caches.open(cacheName).then(cache => { +// cache.put(event.request.url, response.clone()); +// return response; +// }); +// }) +// .catch(error => console.log('Error, ', error)), +// ); +// }); + // Delete outdated caches self.addEventListener('activate', event => { const cacheWhitelist = [cacheName];