const cacheVersion = 'v1'; const filesToCache = {!! json_encode($filesToCaches) !!}; self.addEventListener('install', event => { console.log('[ServiceWorker] Install'); event.waitUntil( caches.open(cacheVersion) .then(cache => { console.log('[ServiceWorker] Caching app shell'); return cache.addAll(filesToCache); }) ); }); self.addEventListener('activate', event => { console.log('[ServiceWorker] Activate'); }); self.addEventListener('fetch', event => { console.log('[ServiceWorker] fetch', event.request); event.respondWith( caches.match(event.request) .then(response => response || fetch(event.request)) ); });