Создавая своего сервис-воркера с плагином Workbox webpack, я установил для skipWaiting
и clientsClaim
значение true. При первой начальной загрузке, когда ранее не работал сервис-воркер, я вижу, что все мои предварительно кэшированные ресурсы загружаются программным обеспечением (предположительно для помещения в кеш) на начальной целевой странице. Один из этих ресурсов, мы скажем a.js
, действительно отображается на вкладке сети как загруженный среди этих ресурсов.
Затем я перехожу к новому разделу своего веб-приложения, в котором используется a.js
, и вижу a.js
нагрузку на вкладке сети, но не со стороны сервис-воркера; грузится из сети как обычно. Кажется, что при первой начальной загрузке sw работает и кэширует ресурсы, но не обслуживает из кеша. Это ожидаемое поведение?
Для ясности: если я уберу всех сервисных работников и снова перейду на целевую страницу, но затем обновлю и перезагружу целевую страницу, затем перейду к этому другому разделу, Я действительно могу видеть a.js
загрузку из кеша от сервис-воркера. Похоже, что первоначальная установка сервис-воркера не приводит к его полной активности.
Ожидается ли это, и если нет, есть ли способ исправить это?