| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- /* eslint-env serviceworker */
- /*
- * This file (which will be your service worker)
- * is picked up by the build system ONLY if
- * quasar.config.js > pwa > workboxMode is set to "injectManifest"
- */
- import { clientsClaim } from 'workbox-core'
- import {
- precacheAndRoute,
- cleanupOutdatedCaches,
- createHandlerBoundToURL
- } from 'workbox-precaching'
- import { registerRoute, NavigationRoute } from 'workbox-routing'
- self.skipWaiting()
- clientsClaim()
- // Use with precache injection
- precacheAndRoute(self.__WB_MANIFEST)
- cleanupOutdatedCaches()
- // Non-SSR fallback to index.html
- // Production SSR fallback to offline.html (except for dev)
- if (process.env.MODE !== 'ssr' || process.env.PROD) {
- registerRoute(
- new NavigationRoute(
- createHandlerBoundToURL(process.env.PWA_FALLBACK_HTML),
- {
- denylist: [
- /api$/,
- /sw\.js$/,
- /workbox-(.)*\.js$/
- ]
- }
- )
- )
- }
|