Service Worker Template
Strategy
cache-first
policy
Cache
v1
name
Precache URLs
4
items
Bytes
791
code
input · precache urls
output · service-worker.js
// Cache-first: serve from cache, fall back to network.
const CACHE_NAME = "v1";
const PRECACHE = ["/", "/index.html", "/styles.css", "/app.js"];
self.addEventListener("install", (e) => {
e.waitUntil(caches.open(CACHE_NAME).then((c) => c.addAll(PRECACHE)));
self.skipWaiting();
});
self.addEventListener("activate", (e) => {
e.waitUntil(caches.keys().then((keys) =>
Promise.all(keys.filter((k) => k !== CACHE_NAME).map((k) => caches.delete(k)))
));
self.clients.claim();
});
self.addEventListener("fetch", (e) => {
e.respondWith(
caches.match(e.request).then((cached) =>
cached || fetch(e.request).then((res) => {
const clone = res.clone();
caches.open(CACHE_NAME).then((c) => c.put(e.request, clone));
return res;
})
)
);
});