PWA работает с локальным хостом в автономном режиме, но не после загрузки - PullRequest
0 голосов
/ 06 апреля 2020

, когда я тестирую свой 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] "привел к сетевой ошибке: обещание было отклонено.

Спасибо за помощь!

...