Я разрабатываю прогрессивное веб-приложение с целью кэширования всех активов, которые будут использоваться в автономном режиме. Вот мой рабочийОшибка кэша обслуживающего персонала
self.addEventListener('install', function(e) {
e.waitUntil(
caches.open('default-cache').then(function(cache) {
return cache.addAll([
'/',
'/index.html',
'/bundle.js',
'/libraries/p5.dom.min.js',
'/libraries/p5.min.js',
'/libraries/p5.sound.min.js',
'/sound/spokesm4v.mp3',
'/css/flexboxgrid.min.css',
'/images/icon-192.png',
'/manifest.json',
])
}).then(function() {
return self.skipWaiting();
}));
});
self.addEventListener('activate', function(e) {
e.waitUntil(self.clients.claim());
});
self.addEventListener('fetch', function(e) {
e.respondWith(
caches.match(e.request).then(function(response) {
return response || fetch(e.request);
})
);
});
обслуживание Независимо от того, если я в сети или нет, работник службы не в состоянии кэшировать некоторые активы (в данном случае bundle.js) и ломает мой кэш-первая система, даже если я вхожу успех сообщение при регистрации работника.
https://postimg.org/gallery/2yo1ig35y/
Как justmarkup, я не получаю ошибку :(Однако вам не хватает запятой после возвращения 'cache.addAll'. Кроме того, услуга регистрации работника и установки разделены, так успешное сообщение для регистрации не означает, что у обслуживающего персонала установлены и кэшированные ресурсы. Просто FYI. –
Какие браузеры вы тестируете? – Salva
Я тестирую на рабочем столе и мобильном хроме –