¿Usar o no usar el directorio src en Next.js?

Angela Sofíá Osorio

Angela Sofíá Osorio

Tiempo de lectura 2 minutes

Fecha de publicación

Cuando trabajas con Next.js, uno de los debates comunes es si conviene o no organizar el proyecto dentro de un directorio src. Aunque no es obligatorio, esta decisión puede afectar la claridad y escalabilidad del código a largo plazo.

¿Qué hace el directorio src en Next.js?

El directorio src sirve únicamente como contenedor del código fuente. No altera el funcionamiento de Next.js, ya que el framework reconoce automáticamente si los directorios pages/ o app/ están en la raíz o dentro de src.

Por ejemplo, Next.js ejecutará correctamente ambos casos:

Estructura sin src:

my-project/
├── app/
├── components/
├── styles/
├── next.config.js
└── package.json
Lua

Estructura con src:

my-project/
├── src/
│   ├── app/
│   ├── components/
│   ├── styles/
├── next.config.js
└── package.json
Lua

Ventajas de usar src/

  1. Organización en proyectos grandes: Mantiene separados los archivos de configuración (next.config.js, .eslintrc, package.json) del código fuente.
  2. Consistencia con otros frameworks: Muchas aplicaciones React, Angular o Vue usan este patrón, por lo que es una convención reconocida.
  3. Escalabilidad: Si el proyecto incluye múltiples módulos (por ejemplo, features/, services/, lib/), el uso de src/ evita saturar la carpeta raíz.

Ejemplo de un proyecto grande con src/:

my-project/
├── src/
│   ├── app/
│   ├── components/
│   ├── features/
│   ├── lib/
│   ├── services/
│   └── styles/
├── public/
├── next.config.js
└── package.jsonp
Lua

Desventajas de usar src/

  1. Un nivel extra de carpetas: Para proyectos pequeños puede resultar innecesario.
  2. Sin impacto funcional: Next.js no obtiene mejoras de rendimiento ni características extra al usar src.

Ejemplo práctico: página básica con y sin src

Sin src

my-project/
├── app/
│   ├── page.js
│   └── layout.js
Lua

app/page.js:

export default function HomePage() {
  return <h1>Hola desde Next.js sin src</h1>;
}p
JavaScript

Con src

my-project/
├── src/
│   ├── app/
│   │   ├── page.js
│   │   └── layout.js
Lua

src/app/page.js:

export default function HomePage() {
  return <h1>Hola desde Next.js con src</h1>;
}
JavaScript

En ambos casos, al ejecutar npm run dev, el resultado es idéntico.

¿Qué elegir?

  • Proyectos pequeños o personales: No usar src mantiene la estructura más simple.
  • Proyectos medianos o grandes (o trabajo en equipo): Usar src es recomendable para mantener la raíz ordenada y facilitar la escalabilidad.

Conclusión

El uso de src/ en Next.js es una cuestión de organización, no de funcionalidad. Si planeas mantener un proyecto a largo plazo o trabajas con un equipo, src/ puede ayudarte a mantener el código más limpio. Para prototipos o proyectos pequeños, puedes prescindir de él sin problema.