对于很多网上的例子,监听fetch,并使用:caches.match获取缓存数据时
- self.addEventListener('fetch', function (e) {
- e.respondWith(
- caches.match(e.request).then(res => {
- ...
在第一次挂载service worker时,我们使用cache.addAll()来将cacheList中指定路径的资源转移到缓存中。
- const cacheList = ['./index.html',...]
- self.addEventListener('install', e => {
- e.waitUntil(
- caches.open(cacheName)
- .then(cache => {
- return cache.addAll(cacheList);
- })
- .then(() => self.skipWaiting()),
- );
- });




获取缓存失败的资源的特征: