¿Cómo organizarías Vue Router y el code splitting en una aplicación con muchas áreas de negocio?

¿Cómo organizarías Vue Router y el code splitting en una aplicación con muchas áreas de negocio? en Vue senior: explicación técnica directa, decisiones de di...

2 min de lecturaSenior
Difícil EnrutamientoNavegaciónRendimiento

Respuesta

  • Organiza rutas por áreas de negocio y deja los archivos de routing cerca de cada feature para que el mapa de navegación siga siendo legible.
  • Aplica lazy loading por vistas o áreas pesadas, y deja route meta junto a la feature para no dispersar permisos y contexto.
  • Revisa bundles reales: a veces dividir demasiado genera más coste de coordinación que ganancia para el usuario.

Puntos clave

  • El router debería describir navegación, permisos y carga por áreas; si termina alojando demasiada lógica de negocio, pierde claridad muy rápido.
  • En Nuxt conviene decidir pronto qué se resuelve en servidor, qué en middleware y qué en la pantalla para no duplicar fetch ni checks.
  • La división de código y la estrategia de rendering deben responder al tipo de contenido: público indexable, privado interactivo o híbrido.

Errores comunes

  • Duplicar checks de permisos y fetch entre router, middleware y componente dispara complejidad y llamadas repetidas.
  • Lazy loading sin criterio de acceso o sin revisar bundles puede terminar moviendo el coste, no reduciéndolo.

Ejemplo de código

export const routes: RouteRecordRaw[] = [
  {
    path: "/reports",
    component: () => import("./features/reports/ReportsView.vue"),
    meta: { requiresAuth: true, area: "reports" },
  },
];

Ejemplo o caso real

En aplicaciones con varias áreas privadas y contenido público, la diferencia entre resolver algo en router, en servidor o en la propia pantalla cambia bastante la complejidad final.

Idea clave

El router debe aclarar cómo se entra y se sale, no esconder media lógica de la aplicación.

¿Completaste esta sección?

Marcarla como leída actualiza tu progreso.