Skip to content

Commit e24fb58

Browse files
committed
Create sw.js
1 parent 0922df8 commit e24fb58

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

sw.js

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
2+
if (location.href.includes('howdz.xyz')) {
3+
importScripts('https://cdn.staticfile.org/workbox-sw/7.0.0/workbox-sw.js')
4+
workbox.setConfig({
5+
debug: false,
6+
});
7+
console.log('sw.js is load by CDN!')
8+
} else {
9+
importScripts('./workbox/workbox-sw.js')
10+
workbox.setConfig({
11+
debug: false,
12+
modulePathPrefix: './workbox/'
13+
});
14+
console.log('sw.js is load by local!')
15+
}
16+
17+
// Cache css/js/font.
18+
workbox.routing.registerRoute(
19+
({ request }) => request.destination === 'style' || request.destination === 'script' || request.destination === 'font',
20+
new workbox.strategies.CacheFirst({
21+
cacheName: 'css-js-font',
22+
plugins: [
23+
new workbox.cacheableResponse.CacheableResponsePlugin({
24+
statuses: [200],
25+
}),
26+
new workbox.expiration.ExpirationPlugin({
27+
maxEntries: 50,
28+
maxAgeSeconds: 60 * 60 * 24 * 7, // 7 Days
29+
}),
30+
]
31+
})
32+
);
33+
34+
// Cache image.
35+
workbox.routing.registerRoute(
36+
({ request }) => request.destination === 'image',
37+
new workbox.strategies.StaleWhileRevalidate({
38+
cacheName: 'image',
39+
plugins: [
40+
new workbox.cacheableResponse.CacheableResponsePlugin({
41+
statuses: [200],
42+
}),
43+
new workbox.expiration.ExpirationPlugin({
44+
maxEntries: 50,
45+
maxAgeSeconds: 60 * 60 * 24 * 7, // 7 Days
46+
})
47+
]
48+
})
49+
)
50+
51+
// Cache video
52+
workbox.routing.registerRoute(
53+
({ request }) => request.destination === 'video',
54+
new workbox.strategies.CacheFirst({
55+
cacheName: 'video',
56+
plugins: [
57+
new workbox.cacheableResponse.CacheableResponsePlugin({
58+
statuses: [200],
59+
}),
60+
new workbox.expiration.ExpirationPlugin({
61+
maxEntries: 50,
62+
maxAgeSeconds: 60 * 60 * 24 * 7, // 7 Days
63+
}),
64+
new workbox.rangeRequests.RangeRequestsPlugin()
65+
]
66+
})
67+
)

0 commit comments

Comments
 (0)