Я впервые устанавливаю сервис-воркер и следую инструкциям по адресу: https://developers.google.com/web/fundamentals/getting-started/primers/service-workers
Мой сервисный работник ведет себя так, как ожидалось, при установке и обновлении, но запросы на выборку не запускаются должным образом.
var CACHE_NAME = 'test-cache-v1'
var urlsToCache = [
'/',
'/public/scripts/app.js'
]
self.addEventListener('install', function (event) {
console.log('Installing new service worker', event)
// Perform install steps
event.waitUntil(
caches.open(CACHE_NAME)
.then(function (cache) {
return cache.addAll(urlsToCache)
})
.catch(err => console.log('Error Caching', err))
)
})
self.addEventListener('fetch', function (event) {
console.log('Fetch req', event)
event.respondWith(
caches.match(event.request)
.then(function (response) {
console.log('Cache hit', response)
// Cache hit - return response
if (response) {
return response
}
return fetch(event.request)
.catch(e => console.log('Error matching cache', e))
}
)
)
})
Я вижу, что «Установка нового работника службы» выводится на консоль, когда ожидалось, но не «Выборка запроса». Я использую Chrome devtools и получил доступ к опции «Проверить» рядом с ServiceWorker на вкладке «Приложение».