Что такое Workbox?

На этом этапе сервисные работники могут показаться непростыми. Существует множество сложных взаимодействий, которые трудно понять правильно. Сетевые запросы! Стратегии кэширования! Управление кэшем! Предварительное кэширование! Это многое нужно запомнить. Это не делает Service Worker плохо спроектированной технологией; он работает так, как задумано, и решает сложные проблемы.

Хорошие абстракции упрощают использование сложных API. Вот здесь-то и появляется Workbox. Workbox — это набор модулей, которые упрощают маршрутизацию и кэширование обычных сервис-воркеров. Каждый доступный модуль посвящен определенному аспекту разработки сервисных работников. Workbox стремится максимально упростить использование сервис-воркеров, обеспечивая при этом гибкость для удовлетворения сложных требований приложений, где это необходимо.

В простейших случаях workbox-build предлагает несколько методов, которые могут создать сервис-воркера, который предварительно кэширует указанные ресурсы. generateSW выполняет большую часть работы «из коробки», а метод injectManifest предлагает больше контроля, когда это необходимо.

В более сложных случаях использования могут помочь другие модули. Вот несколько таких модулей:

Эти и другие модули помогают составлять код сервис-воркера декларативным образом, который легче читать и поддерживать, чем напрямую использовать API-интерфейсы сервис-воркера. Эта документация объяснит, как использовать их прикладным образом.