Workbox предоставляет мощный набор инструментов для реализации стратегий кэширования и управления ресурсами в Progressive Web App (PWA). Одним из ключевых аспектов отладки является инспектирование кэша, чтобы убедиться, что нужные ресурсы действительно сохраняются, обновляются и извлекаются корректно.
В Chrome DevTools инспектирование кэша Workbox осуществляется через вкладку Application. Основные элементы, на которые стоит обратить внимание:
Cache Storage Здесь отображаются все кэши,
созданные приложением, включая кэши, управляемые Workbox. Каждый кэш
имеет своё имя, которое соответствует конфигурации
cacheName в стратегии Workbox. Например:
const cacheName = 'my-app-cache-v1';
В DevTools этот кэш будет виден в списке Cache Storage.
Service Workers Вкладка Service Workers позволяет наблюдать за статусом активного service worker, его обновлениями и событиями активации. Важно убедиться, что service worker находится в состоянии activated, иначе кэширование не будет работать.
Для анализа ресурсов, сохранённых Workbox:
Особое внимание стоит уделить тому, что Workbox использует разные
стратегии кэширования для разных маршрутов. Например,
staleWhileRevalidate может возвращать устаревший ресурс,
одновременно обновляя его в фоне. DevTools позволяет наблюдать эти
изменения в реальном времени.
Network → Disable cache Для корректного тестирования стратегий кэширования важно отключить стандартное кэширование браузера. Это помогает изолировать поведение Workbox.
Service Worker Logging Включение подробного
логирования в Workbox (debug: true) позволяет видеть в
консоли информацию о том, какие ресурсы были закэшированы, обновлены или
удалены. Пример конфигурации:
workbox.setConfig({ debug: true });
Логи показывают детально, как стратегия кэширования взаимодействует с запросами, что упрощает отладку.
Workbox автоматически обрабатывает версии кэша через механизмы
cacheName и precacheManifest. В DevTools это
проявляется в виде нескольких кэшей с разными суффиксами версий. При
обновлении сервисного работника старые кэши можно удалить вручную или
настроить автоматическое удаление:
workbox.precaching.cleanupOutdatedCaches();
DevTools позволяет проверить, какие кэши остаются актуальными, а какие устарели.
Для каждого маршрута или ресурса можно определить стратегию. В DevTools удобно проверять, как конкретный URL обрабатывается:
Вкладка Network в DevTools показывает, был ли ресурс
загружен из кэша (статус 200 (from ServiceWorker)), что
позволяет визуально проверять корректность стратегии.
Workbox precaching сохраняет критические ресурсы при установке service worker. В DevTools:
workbox-precache.cleanupOutdatedCaches.Инспектирование кэша через DevTools позволяет точно контролировать работу Workbox, выявлять ошибки в стратегиях и оптимизировать PWA для быстрого и стабильного отклика.