初始化 antd-pro
This commit is contained in:
65
admin-web/src/service-worker.js
Normal file
65
admin-web/src/service-worker.js
Normal file
@@ -0,0 +1,65 @@
|
||||
/* globals workbox */
|
||||
/* eslint-disable no-restricted-globals */
|
||||
workbox.core.setCacheNameDetails({
|
||||
prefix: 'antd-pro',
|
||||
suffix: 'v1',
|
||||
});
|
||||
// Control all opened tabs ASAP
|
||||
workbox.clientsClaim();
|
||||
|
||||
/**
|
||||
* Use precaching list generated by workbox in build process.
|
||||
* https://developers.google.com/web/tools/workbox/reference-docs/latest/workbox.precaching
|
||||
*/
|
||||
/* eslint-disable no-underscore-dangle */
|
||||
workbox.precaching.precacheAndRoute(self.__precacheManifest || []);
|
||||
|
||||
/**
|
||||
* Register a navigation route.
|
||||
* https://developers.google.com/web/tools/workbox/modules/workbox-routing#how_to_register_a_navigation_route
|
||||
*/
|
||||
workbox.routing.registerNavigationRoute('/index.html');
|
||||
|
||||
/**
|
||||
* Use runtime cache:
|
||||
* https://developers.google.com/web/tools/workbox/reference-docs/latest/workbox.routing#.registerRoute
|
||||
*
|
||||
* Workbox provides all common caching strategies including CacheFirst, NetworkFirst etc.
|
||||
* https://developers.google.com/web/tools/workbox/reference-docs/latest/workbox.strategies
|
||||
*/
|
||||
|
||||
/**
|
||||
* Handle API requests
|
||||
*/
|
||||
workbox.routing.registerRoute(/\/api\//, workbox.strategies.networkFirst());
|
||||
|
||||
/**
|
||||
* Handle third party requests
|
||||
*/
|
||||
workbox.routing.registerRoute(
|
||||
/^https:\/\/gw.alipayobjects.com\//,
|
||||
workbox.strategies.networkFirst()
|
||||
);
|
||||
workbox.routing.registerRoute(
|
||||
/^https:\/\/cdnjs.cloudflare.com\//,
|
||||
workbox.strategies.networkFirst()
|
||||
);
|
||||
workbox.routing.registerRoute(/\/color.less/, workbox.strategies.networkFirst());
|
||||
|
||||
/**
|
||||
* Response to client after skipping waiting with MessageChannel
|
||||
*/
|
||||
addEventListener('message', event => {
|
||||
const replyPort = event.ports[0];
|
||||
const message = event.data;
|
||||
if (replyPort && message && message.type === 'skip-waiting') {
|
||||
event.waitUntil(
|
||||
self
|
||||
.skipWaiting()
|
||||
.then(
|
||||
() => replyPort.postMessage({ error: null }),
|
||||
error => replyPort.postMessage({ error })
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user