Libreria Gratis Activo
vite-plugin-pwa
Para añadir soporte PWA (offline, instalable, actualizaciones) a un proyecto Vite con configuración mínima.
Plugin de Vite que convierte una app en PWA con service worker y manifiesto sin apenas configuración.
Notas y contexto
Qué es
vite-plugin-pwa es un plugin de Vite, agnóstico al framework, que añade capacidades de Progressive Web App a un proyecto con muy poca configuración. Está mantenido por la organización vite-pwa (creada por Anthony Fu) y se apoya en Workbox para generar el service worker. Genera automáticamente el Web App Manifest y la lógica de caché necesaria para que la aplicación sea instalable y funcione sin conexión.
Para qué sirve
- Convertir una app Vite en una PWA instalable, con icono y pantalla completa.
- Generar un service worker con soporte offline mediante estrategias de caché de Workbox.
- Mostrar avisos al usuario cuando hay contenido nuevo o la app está lista para usarse offline.
- Producir todos los assets PWA (iconos y splash) a partir de una sola imagen de origen.
Cuándo usarlo
- Cuando ya trabajas con Vite y quieres dar soporte PWA sin escribir manualmente el service worker ni el manifiesto.
- Encaja con Vue 3, React, Svelte, SolidJS, Preact y vanilla, además de meta-frameworks como SvelteKit, Astro, Nuxt 3, VitePress, Qwik o Remix.
- Si tu bundler no es Vite, necesitarás otra solución (por ejemplo Workbox directamente o el plugin equivalente del bundler que uses).
Ejemplo
Instalación como dependencia de desarrollo y registro del plugin en la configuración de Vite:
npm i vite-plugin-pwa -D
import { VitePWA } from 'vite-plugin-pwa';
export default {
plugins: [
VitePWA({
registerType: 'autoUpdate',
manifest: {
name: 'Mi App',
short_name: 'MiApp',
theme_color: '#ffffff',
},
}),
],
};
Puntos clave
- Enfoque zero-config: defaults sensatos para los casos comunes, pero totalmente extensible.
- Service worker basado en Workbox con estrategia stale-while-revalidate y soporte offline.
- Compatible con múltiples frameworks y meta-frameworks sobre Vite.
- Generador de assets PWA integrado y soporte de depuración del service worker en desarrollo.
Ten en cuenta
- Requiere Vite (versiones recientes apuntan a Vite 5+); no sirve para proyectos con otros bundlers.
- El comportamiento PWA conviene probarlo en build de producción y bajo HTTPS, ya que los service workers tienen ese requisito.
- La configuración de caché y de actualización (prompt vs. autoUpdate) hay que ajustarla al caso real para evitar servir contenido obsoleto.