Qué es Generador de plantillas Service Worker modulo ES?
Los service workers de módulo ES usan la opción type: 'module' en la llamada register(), permitiendo la sintaxis import/export en lugar de importScripts(). Esto habilita patrones de módulo JavaScript estándar, importaciones estáticas y una mejor gestión de dependencias. Combinado con estrategias de caché configurables (cache-first, network-first, stale-while-revalidate, network-only, cache-only), un service worker puede controlar cómo se manejan las solicitudes de red, precargar activos críticos en la instalación y servir páginas de respaldo sin conexión.
Respuesta rápida
Genere una plantilla de service worker de módulo ES con estrategias de caché configurables (cache-first, network-first, stale-while-revalidate, network-only, cache-only), listas de URL de precarga, activación automática (skipWaiting + clients.claim) y soporte de página de respaldo sin conexión. Usa sintaxis de módulo ES con import/export estático en lugar de importScripts.
Last updated: 2026-05-31
Limitaciones
- Los service workers de módulo ES no soportan import() dinámico: todas las dependencias de módulos deben declararse estáticamente en el nivel superior. La carga de código dinámico requiere el patrón clásico importScripts.
- Los scripts de módulo de origen cruzado no son compatibles con service workers. Los módulos importados deben ser del mismo origen. Si necesita cargar scripts desde un CDN, use el patrón de service worker clásico o agrupe el código localmente.
- El ciclo de vida del service worker (install -> waiting -> activate -> update) puede causar conflictos de versión durante el desarrollo. Las opciones 'Update on Reload' y 'Bypass for Network' de DevTools ayudan, pero el versionado en producción requiere una nomenclatura cuidadosa de caché y lógica de limpieza.
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
Cómo usar esta herramienta
- Seleccione estrategias de caché para diferentes tipos de ruta: cache-first para activos estáticos, network-first para llamadas API, stale-while-revalidate para contenido que se actualiza con frecuencia y network-only para endpoints sensibles.
- Ingrese la lista de URLs a precargar durante el evento install. Estas se obtienen y almacenan en la caché para que funcionen sin conexión inmediatamente.
- Active la auto-activación para habilitar skipWaiting y clients.claim, que activan el nuevo service worker inmediatamente para todos los clientes sin esperar la siguiente carga de página.
- Active opcionalmente la página de respaldo sin conexión. Cuando una solicitud falla y el recurso no está en caché, el service worker sirve la página de respaldo en lugar de mostrar el error de conexión del navegador.
Para qué puedes usarla
- Crear una aplicación web progresiva que almacene en caché todos los activos estáticos en la instalación, use network-first para datos API y proporcione una página de respaldo sin conexión para rutas no almacenadas.
- Construir un sitio de contenido con almacenamiento en caché stale-while-revalidate para artículos: sirva la versión en caché instantáneamente y actualice la caché en segundo plano, manteniendo el contenido fresco sin esperar la red.
- Generar una plantilla de proyecto con un esqueleto de service worker que los desarrolladores puedan personalizar con sus propias estrategias de caché, listas de precarga y comportamiento sin conexión.