, когда я тестирую свой PWA в локальном и автономном режимах в Chrome DevTools кэширует FILES_TO_CACHE, но когда я загружаю его в свой хостер, кэшированные файлы исчезают, когда я обновляю sh index. html в автономном режиме.
sw. js
// Update cache name any time any of the cached files change
const CACHE_NAME = 'cache-v1';
// FILES TO CACHE ---------------------
const FILES_TO_CACHE = [
'index.html',
'ajax/search-app.php',
'manifest.json',
'css/default.css',
'css/hitsearch-app.css',
'js/jquery.js',
'js/hitsearch-app.js',
'fonts/Asap-Regular.woff',
'fonts/Asap-SemiBold.woff',
'fonts/MaterialIcons-Regular.eot',
'fonts/MaterialIcons-Regular.woff2',
'fonts/MaterialIcons-Regular.woff',
'fonts/MaterialIcons-Regular.ttf',
'images/favicon.png',
'images/logo.svg',
'images/icon-128x128.png',
'images/icon-144x144.png',
'images/icon-152x152.png',
'images/icon-192x192.png',
'images/icon-256x256.png',
'images/icon-512x512.png',
];
// INSTALL EVENT ---------------------
self.addEventListener('install', (evt) => {
// Caching static resources
evt.waitUntil(
caches.open(CACHE_NAME).then((cache) => {
return cache.addAll(FILES_TO_CACHE);
})
);
self.skipWaiting();
});
// ACTIVATE EVENT ---------------------
self.addEventListener('activate', (evt) => {
// Deleting old cache
evt.waitUntil(
caches.keys().then(keys =>{
return Promise.all(keys
.filter(key => key !== CACHE_NAME)
.map(key => caches.delete(key))
)
})
);
});
// FETCH EVENTs ---------------------
self.addEventListener('fetch', evt => {
// Serving static resources from cache when offline
evt.respondWith(
caches.open(CACHE_NAME).then((cache) => {
return cache.match(evt.request)
.then((response) => {
return response || fetch(evt.request);
});
})
);
});
Сообщение об ошибке в Chrome DevTools:
Uncaught (в обещании) TypeError: Не удалось получить FetchEvent for " [URL] "привел к сетевой ошибке: обещание было отклонено.
Спасибо за помощь!