En este punto, los service workers pueden parecer complicados. Hay muchas interacciones complejas que son difíciles de entender correctamente. Solicitudes de red Estrategias de almacenamiento en caché Administración de caché. Almacenamiento previo en caché Es mucho para recordar. Esto no convierte al service worker en una tecnología mal diseñada; funciona según lo previsto y resuelve problemas difíciles.
Las buenas abstracciones facilitan el uso de las APIs complejas. Ahí es donde entra en juego Workbox. Workbox es un conjunto de módulos que simplifican el enrutamiento y el almacenamiento en caché de los service workers comunes. Cada módulo disponible aborda un aspecto específico del desarrollo del service worker. El objetivo de Workbox es que el uso de service workers sea lo más fácil posible, a la vez que se brinda flexibilidad para adaptarse a requisitos de aplicaciones complejos cuando sea necesario.
En los casos más simples, workbox-build
ofrece algunos métodos que pueden generar un service worker que almacene previamente en caché elementos específicos.
El método generateSW
hace la mayor parte del trabajo listo para usar, mientras que el método injectManifest
ofrece más control cuando es necesario.
Para casos de uso más avanzados, otros módulos pueden ser útiles. Estos son algunos módulos de este tipo:
workbox-routing
para la coincidencia de solicitudesworkbox-strategies
para estrategias de almacenamiento en cachéworkbox-precaching
para el almacenamiento previo en caché.workbox-expiration
para administrar cachés.workbox-window
para registrar un service worker y controlar las actualizaciones enwindow context
.
Estos y otros módulos ayudan a componer el código del service worker de forma declarativa, que es más fácil de leer y mantener que usar directamente las API del service worker. En esta documentación, se explicará cómo usarlos de manera aplicada.