Какая стратегия рабочего ящика используется для предварительно кэшированных ресурсов при использовании workbox-webpack-plugin? - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь понять рабочих и служащих.

Какая стратегия рабочего ящика используется для предварительно кэшированных ресурсов при использовании workbox-webpack-plugin и режима GenerateSW? то есть. cacheFirst, staleWhileRevalidate и т. д. Поскольку кажется, что я не настроил маршрут / стратегию для предварительно кэшированных активов, чтобы работник службы мог обновить кэши для этих активов. Так что же является обработчиком по умолчанию для них?

И во-вторых, как заголовки Cache-Control из ответа сервера играют роль в стратегии рабочего ящика для обновления ресурсов? Если вообще.

Ответ на вопрос по поводу ресурса root /index.html будет для меня наиболее полезным.

Спасибо.

1 Ответ

0 голосов
/ 06 сентября 2018

workbox-webpack-plugin создает работника службы, который выполняет вызов workbox.precaching.precacheAndRoute([...]), с массивом URL-адресов (и дополнительной информацией о редакции для каждого URL-адреса).

Звонок на precacheAndRoute() делает две вещи:

  • Precache с предоставленными URL-адресами.

  • Автоматически создает для вас обработчик fetch, который будет проверять входящие запросы, чтобы определить, совпадает ли он с предварительно кэшированным URL-адресом, и, если это так, ответить тем, что эффективно является кэш-первой стратегией. (Это часть и route .) Код , который вызывается , когда есть совпадение, не буквально workbox.strategies.cacheFirst(), но он примерно эквивалентен.

Workbox будет автоматически избегать кэша HTTP браузера, если для данной записи в манифесте предварительного кэша предоставлена ​​внешняя информация о ревизии - она ​​использует ее как сигнал о том, что содержимое URL может изменение с течением времени. документы для модуля workbox-precaching проливают немного света на то, что происходит.

...