Почему я получаю сообщение об ошибке в service-worker.js при разработке приложения pwa - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь разработать pwa-приложение с моего сайта Django. Но я получаю следующие ошибки: -

Uncaught (in promise) TypeError: Request failed
Promise.then (async)
(anonymous) @ service-worker.js:16

, в то время как мой service-worker.js: -

{% load static %}
var dataCacheName = 'template-pwa';
var cacheName = 'template-pwa';
var filesToCache = [
  '/',
 "./index.html",
 "./{%static "json/manifest.json" %}",
 "./{%static "js" %}",
 "./{%static "js/app.js" %}",
 "./{%static "js/jquery-3.3.1.js" %}",
 "./{%static "js/materialize.js" %}",
 ];

self.addEventListener('install', function(e) {
  console.log('[ServiceWorker] Install');
  e.waitUntil(
    caches.open(cacheName).then(function(cache) {
      console.log('[ServiceWorker] Caching app shell');
  return cache.addAll(filesToCache);
})
 );
});

self.addEventListener('activate', function(e) {
  console.log('[ServiceWorker] Activate');
  e.waitUntil(
    caches.keys().then(function(keyList) {
      return Promise.all(keyList.map(function(key) {
    if (key !== cacheName && key !== dataCacheName) {
      console.log('[ServiceWorker] Removing old cache', key);
      return caches.delete(key);
        }
      }));
    })
 );
  return self.clients.claim();
});

self.addEventListener('fetch', function(e) {
  console.log('[Service Worker] Fetch', e.request.url);
  e.respondWith(
    caches.match(e.request).then(function(response) {
     return response || fetch(e.request);
    })
  );
});

Пока консоль показывает, что сервисный работник зарегистрирован. Согласно консоли, ошибка в

e.waitUntil
...