1
- import { precacheAndRoute } from 'workbox-precaching'
2
- import { NavigationRoute , registerRoute , Route } from 'workbox-routing'
3
- import * as navigationPreload from 'workbox-navigation-preload'
4
- import { NetworkFirst , StaleWhileRevalidate } from 'workbox-strategies'
1
+ import { createHandlerBoundToURL , precacheAndRoute } from 'workbox-precaching'
2
+ import { NavigationRoute , registerRoute } from 'workbox-routing'
5
3
import { clientsClaim } from 'workbox-core'
6
4
7
5
declare let self : ServiceWorkerGlobalScope
@@ -15,35 +13,11 @@ self.addEventListener('message', (event) => {
15
13
16
14
clientsClaim ( )
17
15
18
- // Precache the manifest
16
+ // self.__WB_MANIFEST is default injection point
19
17
precacheAndRoute ( self . __WB_MANIFEST )
20
18
21
- // Enable navigation preload
22
- navigationPreload . enable ( )
19
+ // clean old assets
20
+ // cleanupOutdatedCaches ()
23
21
24
- // Create a new navigation route that uses the Network-first, falling back to
25
- // cache strategy for navigation requests with its own cache. This route will be
26
- // handled by navigation preload. The NetworkOnly strategy will work as well.
27
- const navigationRoute = new NavigationRoute (
28
- new NetworkFirst ( {
29
- cacheName : 'navigations' ,
30
- } ) ,
31
- )
32
-
33
- // Register the navigation route
34
- registerRoute ( navigationRoute )
35
-
36
- // Create a route for image, script, or style requests that use a
37
- // stale-while-revalidate strategy. This route will be unaffected
38
- // by navigation preload.
39
- const staticAssetsRoute = new Route (
40
- ( { request } ) => {
41
- return [ 'image' , 'script' , 'style' ] . includes ( request . destination )
42
- } ,
43
- new StaleWhileRevalidate ( {
44
- cacheName : 'static-assets' ,
45
- } ) ,
46
- )
47
-
48
- // Register the route handling static assets
49
- registerRoute ( staticAssetsRoute )
22
+ // to allow work offline
23
+ registerRoute ( new NavigationRoute ( createHandlerBoundToURL ( 'index.html' ) ) )
0 commit comments