vue.config.js
pwa: {
workboxPluginMode: 'GenerateSW',
workboxOptions: {
importWorkboxFrom: 'cdn',
skipWaiting: true,
clientsClaim: true,
navigateFallback: '/index.html',
include: [
],
runtimeCaching: [
{
urlPattern: /.*\.js.*/i,
handler: 'CacheFirst',
options: {
cacheName: 'seed-js',
expiration: {
maxEntries: 20,
maxAgeSeconds: 30 * 24 * 60 * 60, // 30 days
},
},
},
{
urlPattern: /.*css.*/,
handler: 'CacheFirst',
options: {
cacheName: 'seed-css',
expiration: {
maxEntries: 30,
maxAgeSeconds: 30 * 24 * 60 * 60, // 30 days
},
},
},
{
urlPattern: /.*(png|svga).*/,
handler: 'CacheFirst',
options: {
cacheName: 'seed-image',
expiration: {
maxEntries: 30,
maxAgeSeconds: 30 * 24 * 60 * 60, // 30 days
},
},
}
]
}
When I disable production only service worker, and execute 'npm run serve'
import { register } from 'register-service-worker'
// if (process.env.NODE_ENV === 'production') {
register(`${process.env.BASE_URL}service-worker.js`, {
ready() {
console.log(
'App is being served from cache by a service worker.\n' +
'For more details, visit https://goo.gl/'
)
},
registered() {
console.log('Service worker has been registered.')
},
cached() {
console.log('Content has been cached for offline use.')
},
updatefound() {
console.log('New content is downloading.')
},
updated() {
console.log('New content is available; please refresh.')
},
offline() {
console.log('No internet connection found. App is running in offline mode.')
},
error(error) {
console.error('Error during service worker registration:', error)
}
})
// }
Finally, I got nothing in cacheStorage, which can be fetch under offline condition, but with successfully registed service worker, . So straightforward I got nothing during offline. Why? I surly I got the right url pattern string.