#html #progressive-web-apps #service-worker #workbox
#HTML #progressive-веб-приложения #service-worker #workbox
Вопрос:
Я использую Workbox для PWA в своем проекте. В качестве стратегии кэширования я использую NetworkOnly из workbox.strategies.Класс NetworkOnly. Насколько я понимаю, Сеть означает только то, что ServiceWorker всегда будет запрашивать файлы с сервера, а не из кэша. Однако, когда я смотрю на вкладку сеть, файлы, похоже, обслуживаются ServiceWorker из кэша.
В моем понимании что-то не так?
Ответ №1:
На вкладке сеть будет отображаться «ServiceWorker» в качестве источника, независимо от того, использовал ли работник сервера кэш или сеть для извлечения ресурса.
Если вы хотите проверить, обслуживается ли ресурс только из сети, вы можете переключиться в автономный режим и посмотреть, не загружаются ли эти ресурсы. Кроме того, если service worker извлекает ресурс из сети, ресурс будет отображаться в списке сети дважды. Один раз между клиентом и service worker и один раз между service worker и сервером. Вы можете видеть, что bundle.min.js
указано дважды, поэтому оно извлекается из сети.
Комментарии:
1. Большое спасибо Абрахаму за разъяснения. Просто для подтверждения: если используется ServiceWorker, то независимо от используемой стратегии кэширования источник / создатель будет отображаться как ServiceWorker? И да, из-за выбранного режима NetworkOnly в автономном режиме пакеты не загружались, что в значительной степени подтверждает стратегию! Кстати, я заметил, что многие ресурсы при загрузке на вкладке сеть отображаются дважды — один раз с кажущимся реальным запросом, в предварительном просмотре которого я вижу ответ, и один раз с маленькой точкой рядом с именем, в предварительном просмотре которого я вижу пустой ответ. Не могли бы вы объяснить, что это такое?