UNPKG

@vite-pwa/create-pwa

Version:
40 lines (33 loc) 972 B
/// <reference lib="WebWorker" /> import { cleanupOutdatedCaches, createHandlerBoundToURL, precacheAndRoute } from 'workbox-precaching' import { clientsClaim } from 'workbox-core' import { NavigationRoute, registerRoute } from 'workbox-routing' declare let self: ServiceWorkerGlobalScope // self.__WB_MANIFEST is the default injection point precacheAndRoute( self.__WB_MANIFEST, { urlManipulation: ({ url }) => { const urls: URL[] = [] if (url.pathname.endsWith('_payload.json')) { const newUrl = new URL(url.href) newUrl.search = '' urls.push(newUrl) } return urls } } ) // clean old assets cleanupOutdatedCaches() let allowlist: RegExp[] | undefined // in dev mode, we disable precaching to avoid caching issues if (import.meta.dev) allowlist = [/^\/$/] // to allow work offline registerRoute(new NavigationRoute( createHandlerBoundToURL('/'), { allowlist }, )) self.skipWaiting() clientsClaim()