-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathservice-worker.njk
36 lines (31 loc) · 1014 Bytes
/
service-worker.njk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
---
permalink: /sw.js
eleventyExcludeFromCollections: true
excludeFromSitemap: true
---
// https://developer.chrome.com/docs/workbox/caching-strategies-overview
const cacheName = '11tyBeerCache_v1';
const precachedAssets = [
'/modules/beercss/beer.min.css',
'/modules/beercss/beer.min.js',
'/modules/beercss/material-symbols-outlined.woff2',
'/modules/simple-icons-font/SimpleIcons.woff',
'/modules/simple-icons-font/simple-icons.min.css',
'/modules/material-dynamic-colors/material-dynamic-colors.min.js'
];
self.addEventListener('install', (event) => {
event.waitUntil(caches.open(cacheName).then((cache) => {
return cache.addAll(precachedAssets);
}));
});
self.addEventListener('fetch', (event) => {
const url = new URL(event.request.url);
const isPrecachedRequest = precachedAssets.includes(url.pathname);
if (isPrecachedRequest) {
event.respondWith(caches.open(cacheName).then((cache) => {
return cache.match(event.request.url);
}));
} else {
return;
}
});