Estructura y Organización del Proyecto

Esta página proporciona una visión general de todas las convenciones de carpetas y archivos en Next.js, así como recomendaciones para organizar tu proyecto.

Convenciones de carpetas y archivos

Carpetas de nivel superior

Las carpetas de nivel superior se utilizan para organizar el código y los recursos estáticos de tu aplicación.

Segmentos de ruta a segmentos de path
appEnrutador de la aplicación (App Router)
pagesEnrutador de páginas (Pages Router)
publicRecursos estáticos para servir
srcCarpeta opcional de código fuente

Archivos de nivel superior

Los archivos de nivel superior se utilizan para configurar tu aplicación, gestionar dependencias, ejecutar middleware, integrar herramientas de monitoreo y definir variables de entorno.

Next.js
next.config.jsArchivo de configuración para Next.js
package.jsonDependencias y scripts del proyecto
instrumentation.tsArchivo de OpenTelemetry e Instrumentación
middleware.tsMiddleware de solicitudes en Next.js
.envVariables de entorno
.env.localVariables de entorno locales
.env.productionVariables de entorno de producción
.env.developmentVariables de entorno de desarrollo
.eslintrc.jsonArchivo de configuración para ESLint
.gitignoreArchivos y carpetas ignorados por Git
next-env.d.tsArchivo de declaración TypeScript para Next.js
tsconfig.jsonArchivo de configuración para TypeScript
jsconfig.jsonArchivo de configuración para JavaScript

Convenciones de archivos

_app.js .jsx .tsxApp personalizada
_document.js .jsx .tsxDocumento personalizado
_error.js .jsx .tsxPágina de error personalizada
404.js .jsx .tsxPágina de error 404
500.js .jsx .tsxPágina de error 500

Rutas

Convención de carpetas
index.js .jsx .tsxPágina principal
carpeta/index.js .jsx .tsxPágina anidada
Convención de archivos
index.js .jsx .tsxPágina principal
archivo.js .jsx .tsxPágina anidada

Rutas dinámicas

Convención de carpetas
[carpeta]/index.js .jsx .tsxSegmento de ruta dinámica
[...carpeta]/index.js .jsx .tsxSegmento de ruta catch-all
[[...carpeta]]/index.js .jsx .tsxSegmento de ruta catch-all opcional
Convención de archivos
[archivo].js .jsx .tsxSegmento de ruta dinámica
[...archivo].js .jsx .tsxSegmento de ruta catch-all
[[...archivo]].js .jsx .tsxSegmento de ruta catch-all opcional

On this page