馃搧 Estructura de carpetas y archivos del proyecto

Next.js Estructura del proyecto

03 - Estructura de carpetas y archivos del proyecto

Aprende c贸mo se organiza un proyecto de Next.js, qu茅 funci贸n cumple cada carpeta y c贸mo se relacionan entre s铆.


Estructura b谩sica del proyecto

Cuando creas un nuevo proyecto con create-next-app, se genera una estructura de carpetas optimizada para trabajar con la nueva arquitectura de App Router (introducida en Next.js 13).

Una estructura t铆pica se ve as铆:

mi-proyecto/
 ├─ app/
 │   ├─ layout.js
 │   ├─ page.js
 │   ├─ globals.css
 │   └─ (otras rutas y componentes)
 ├─ public/
 │   └─ images/
 ├─ node_modules/
 ├─ package.json
 ├─ next.config.js
 └─ README.md
      

Cada parte cumple una funci贸n espec铆fica, que veremos a continuaci贸n 馃憞

Carpetas y archivos clave

  • app/ → Es el coraz贸n del proyecto. Aqu铆 defines tus p谩ginas, layouts y rutas.
  • layout.js → Plantilla general que se comparte entre p谩ginas (men煤, header, footer, etc.).
  • page.js → Archivo principal de cada ruta. Representa una p谩gina renderizable.
  • globals.css → Archivo global de estilos.
  • public/ → Carpeta donde guardas im谩genes, 铆conos y otros recursos est谩ticos.
  • package.json → Contiene las dependencias y scripts del proyecto.
  • next.config.js → Configuraci贸n avanzada de Next.js (rutas, im谩genes, etc.).

Ejemplo visual

Imagina que app/ es el “esqueleto” de tu sitio. Cada carpeta dentro de app/ representa una secci贸n o p谩gina: por ejemplo, app/contacto/page.js ser铆a tu p谩gina de contacto.

El archivo layout.js es como una “plantilla maestra”: define los elementos comunes (navbar, footer, estilos globales) que rodean a todas las p谩ginas.

Ejemplo pr谩ctico (layout.js)

// Archivo: app/layout.js
import "./globals.css";

export const metadata = {
  title: "Mi Proyecto Next.js",
  description: "Ejemplo de estructura de carpetas y layout base",
};

export default function RootLayout({ children }) {
  return (
    
      
        

Mi Proyecto Next.js

{children}

© 2025 - Desarrollado con Next.js 馃殌

); }

Publicar un comentario

0 Comentarios