service worker 关于 workbox 的最佳实践
关于 workbox 的实践总结
以下仅是实践总结,如有更好的建议,请留言。
package.json
编译分为两部分(以测试环境为例):
- build 出测试包
- 创建sw.js文件
{ "scripts": { "test": "vue-cli-service build --mode test", "build:pwa": "node ./workbox-build/workbox-build-inject.js", "build:test:web": "npm run test && npm run build:pwa" } }
编写 sw.js 文件
importScripts('https://storage.googleapis.com/workbox-cdn/releases/6.1.1/workbox-sw.js')
workbox.loadModule('workbox-precaching')
workbox.loadModule('workbox-routing')
workbox.loadModule('workbox-strategies')
workbox.loadModule('workbox-expiration')
const {
cleanupOutdatedCaches, precacheAndRoute } = workbox.precaching
const {
registerRoute } = workbox.routing
const {
CacheFirst, StaleWhileRevalidate