Jojanes
CONSULTAR
Volver al Blog

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.

Joan Sebastian Oviedo

Joan Sebastian Oviedo

Ingeniero Informático

4 de mayo de 20253 min de lectura
Compartir:
Nextjs barrel files imagen

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í:

🔗 Ver la plantilla en GitHub

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.

Artículos Relacionados

Let's talkSend a WhatsApp message
Construyamos algo grande

¿Tienes un proyecto en mente?

Estoy disponible para trabajo freelance y roles senior remotos. Ya sea un nuevo producto, un sistema legado que modernizar, o una integración con IA — hablemos.

Fast turnaround
NDA-ready
Remote friendly