Mejora la Estructura de tu Proyecto en Next.js con Barrel Files (index.ts)
Aprende cómo y por qué usar barrel files (index.ts) en tus proyectos Next.js para simplificar las importaciones, mejorar la escalabilidad y mantener un código limpio y modular.
May 4, 2025

Joan Sebastian Oviedo
Ingeniero Informático

Mejora la Estructura de tu Proyecto en Next.js con Barrel Files (index.ts)
La organización del código en proyectos de Next.js puede ser clave para la escalabilidad y mantenibilidad. Una técnica muy efectiva que utilizan desarrolladores profesionales es el uso de barrel files, también conocidos como archivos index.ts. En este artículo aprenderás qué son, para qué sirven, sus beneficios y cómo implementarlos correctamente.
¿Qué es un Barrel File?
Un barrel file es un archivo index.ts que centraliza y reexporta múltiples componentes, funciones, tipos o cualquier otro recurso de una carpeta. Esto permite importar todo desde un solo lugar en lugar de hacerlo archivo por archivo.
Ejemplo:
Antes:
import { FormSkeleton } from "@/features/cotizaciones/components/form/FormSkeleton";
import { FormInputs } from "@/features/cotizaciones/components/form/FormInputs";
Después, usando un index.ts:
// form/index.ts export { FormSkeleton } from "./FormSkeleton";
export { FormInputs } from "./FormInputs";
Ahora puedes importar así:
import { FormSkeleton, FormInputs } from "@/features/cotizaciones/components/form";
Ventajas de Usar Barrel Files en Next.js
1. Importaciones Más Limpias y Legibles
Te permite evitar rutas largas y repetitivas, facilitando la lectura del código.
2. Encapsulación y Control de Acceso
Decides qué elementos de una carpeta deberían ser públicos. Todo lo que no se exporte en el index.ts queda privado.
3. Escalabilidad del Proyecto
A medida que el proyecto crece, tener index.ts por feature o componente facilita la navegación y organización del código.
4. Facilita Refactorizaciones
Si cambias de lugar un archivo, solo necesitas actualizar el import en el index.ts, sin tener que buscar y reemplazar en todo el proyecto.
5. Módulos Autocontenidos
Cada carpeta actúa como un "mini-paquete". Esto se alinea perfectamente con la arquitectura basada en features que recomienda Next.js.
Cuándo Usar Índices en Subcarpetas
Si tienes subcarpetas como form, lista, hooks, etc., es buena idea usar un index.ts dentro de cada una si contiene más de un archivo. Esto mejora la organización modular y permite escalar sin complicaciones.
Buenas Prácticas
- Usa index.ts para exportar solo lo necesario.
- No expongas implementaciones internas.
- Nombra tus carpetas por funcionalidad: components, hooks, services, etc.
- Reexporta en cadena si es necesario (subcarpetas -> carpeta -> feature).
Plantilla de Next.js con Barrel Files Integrados
Para facilitar aún más tu flujo de trabajo, hemos creado una plantilla de proyecto en Next.js que ya implementa una arquitectura basada en features con barrel files listos para usar. Esta plantilla incluye ejemplos de organización por dominio, estructura de carpetas limpia, y uso de index.ts en todos los niveles necesarios. Puedes encontrarla aquí:
Es ideal para comenzar nuevos proyectos o como base para migrar tus aplicaciones actuales a una arquitectura moderna y mantenible.
Conclusión
Los barrel files son una herramienta poderosa para organizar proyectos en Next.js de manera limpia, escalable y mantenible. Adoptarlos desde las primeras etapas de tu proyecto te ahorrará dolores de cabeza en el futuro y te dará una base sólida para crecer.
Implementa index.ts en tus features y componentes y notarás inmediatamente la mejora en claridad y fluidez del desarrollo.