Lazy Loading con Vue + Inertia
Categories:
💤 Lazy Loading en Vue 3 + Inertia.js
Lazy loading (carga diferida) permite dividir tu frontend en partes pequeñas que se cargan sólo cuando se necesitan, mejorando mucho el rendimiento.
⚙️ Lazy loading de componentes Vue
Evita esto:
|
|
Haz esto:
|
|
Usado en el template:
|
|
📁 Lazy loading de vistas Inertia
app.js (carga dinámica por nombre)
Esta configuración es estándar y muy eficiente:
|
|
Inertia cargará automáticamente solo el componente Vue que corresponda a la ruta Laravel.
🧩 Lazy loading con layouts
Puedes hacer que cada layout se cargue de forma diferida. Ejemplo:
LayoutGuest.vue
|
|
Página con layout asíncrono
|
|
Esto divide tu layout y evita que se cargue en páginas donde no es necesario (ej. admin).
📂 Lazy loading por secciones
Supón esta estructura de carpetas:
Pages/ ├── Auth/ │ └── Login.vue ├── Admin/ │ └── Dashboard.vue
yaml Copiar Editar
Puedes modificar resolve: para detectar carpetas distintas:
|
|
Esto te permite organizar mejor grandes áreas (como admin).
🧪 Medir rendimiento en DevTools
- Abre Chrome DevTools → Network
- Activa Disable cache
- Navega entre páginas
- Verás cómo los archivos
.jssólo se descargan cuando hacen falta
✅ Ventajas del Lazy Loading
- ⚡ Reduce el bundle inicial
- 🧠 Mejora el First Load para usuarios
- 🔁 Compatible con layouts, rutas y secciones enteras
- 🔧 Sin configuración extra (funciona con Vite por defecto)
📌 Recomendaciones finales
- Usa lazy loading para vistas no críticas (admin, ajustes, estadísticas…)
- Siempre combina con
npm run builden producción - Agrupa layouts por sección si tu app tiene frontend + backend