Skip to content
This repository was archived by the owner on Feb 26, 2025. It is now read-only.

Commit 0f695ca

Browse files
author
Jhonny Michel
committed
refactoring service worker
1 parent 4bd8ded commit 0f695ca

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/sw.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ const initialCache = [
88
.concat(self.__precacheManifest.map(item => item.url))
99
.map(url => new Request(url, { redirect: 'follow' }));
1010

11-
const isFileResource = /(\.[a-z]*$)/;
11+
const isAsset = url => url.match(/(\/assets\/.*$|fonts\.(googleapis|gstatic))|\.css$|\.js$/);
12+
const isGoogleResource = url => url.match(/fonts|google/);
13+
const isTemplate = url => !isAsset(url) && !isGoogleResource(url) && !url.endsWith('/');
1214

1315
function onInstall(event) {
1416
console.log('Service Worker registered');
@@ -24,12 +26,10 @@ self.addEventListener('install', onInstall);
2426
function onFetch(event) {
2527
event.respondWith(
2628
caches.open(CACHE_VERSION).then(cache => {
27-
if (!event.request.url.endsWith('bundle.js')) {
28-
if (event.request.url.match(isFileResource) || event.request.url.includes('fonts')) {
29+
if (isAsset(event.request.url)) {
2930
return retrieveFromCache({ event, cache })
3031
.catch(fetchAndCache)
3132
}
32-
}
3333
return fetchAndCache({ event, cache })
3434
.catch((() => retrieveFromCache({ event, cache })));
3535
})
@@ -39,7 +39,7 @@ function onFetch(event) {
3939
function fetchAndCache({ event, cache }) {
4040
console.log(`Adding resource ${event.request.url} to the cache.`);
4141
let url = event.request.url;
42-
if (!url.match(isFileResource) && !url.endsWith('/') && !url.includes('google') && !event.request.url.includes('fonts')) {
42+
if (isTemplate(url)) {
4343
url = url.concat('/');
4444
}
4545
const request = new Request(

0 commit comments

Comments
 (0)