Кэширование среды выполнения рабочей панели в сервис-воркере игнорируется

В моем сервис-воркере у меня есть:

console.log('register images')

workbox.routing.registerRoute(
  // Cache image files
  /.*\.(?:png|jpg|jpeg|svg|gif)/,
  // Use the cache if it's available
  workbox.strategies.staleWhileRevalidate({
    // Use a custom cache name
    cacheName:'image-cache'
  })
);

(например), но такой кеш не создается. (но предварительное кеширование работает)

Полагаю, мне не хватает чего-то базового. Кажется, не могу найти примера, который это исправляет.

Любая помощь будет оценена


person HenrikBechmann    schedule 16.05.2018    source источник


Ответы (1)


Это была сфера деятельности обслуживающего персонала.

У меня было sw.js в dist/. Как только я переместил его в общедоступный корень (так что объем стал /, все было хорошо.

Этот ответ было ДЕЙСТВИТЕЛЬНО трудно найти. Много, если копаться в стоге сена.

Для загрузки в автономном режиме мне теперь нужно, чтобы обслуживающий персонал ответил на запрос навигации для /. Я увидел содержательный комментарий, что, помимо прочего, index.html необходимо поместить в манифест с предварительным кешированием (без инструкций). Теперь весело ищу документы по этому поводу для WorkboxPlugin.InjectManifest. :-(

person HenrikBechmann    schedule 16.05.2018
comment
Для получения /index.html я только что сделал self.__precacheManifest.push({revision:'abcd',url:'/index.html'}) (пока) - person HenrikBechmann; 16.05.2018
comment
спасибо за вопрос и ответ @HenrikBechmann! У меня такая же проблема при использовании InjectManifest, но даже в общедоступном корне эта функция кэширования времени выполнения из GenerateSW не работает. в то время как он работает в последнем режиме. Также я хотел бы отметить, что согласно документы, и, возможно, вы видели это предупреждение: Никогда не записывайте информацию о ревизии в рукописный манифест, поскольку предварительно кэшированные URL-адреса не будут обновляться, если информация о ревизии не будет отражать содержимое URL-адреса! - person camwhite; 07.07.2019