Descripción general

Next.js es un framework de React para producción. Ofrece renderizado híbrido estático y de servidor, soporte para TypeScript, empaquetado inteligente, prefetch de rutas y mucho más, todo sin configuración previa.

Antes de empezar
Asegúrate de tener tu panel abierto - necesitarás las credenciales de Git que se muestran allí. Esta plantilla incluye Next.js 15, React 19, Tailwind CSS 4, Turbopack y next-auth.

Inicio rápido

1

Crear repositorio desde plantilla

En tu panel, ve a la pestaña Tools & Deployment. Haz clic en el botón "New Repository", selecciona la plantilla de Next.js del menú desplegable, introduce un nombre de repositorio y un subdominio, y luego haz clic en "Create Repository".

2

Clona tu repositorio

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Instala las dependencias

npm install
4

Inicia el servidor de desarrollo

npm run dev

Abre http://localhost:4200 en tu navegador.

5

Compila y haz push

npm run build
git add .
git commit -m "Initial setup"
git push origin main
Cada push a Git despliega tu aplicación automáticamente. Consulta tu URL de trabajo del módulo en el panel para ver tu sitio en vivo.

Desarrollo local con Docker

Si no tienes Node.js instalado localmente, puedes usar Docker para ejecutar comandos de Next.js.

¿Qué es Docker?
Docker crea "contenedores" aislados con todo el software que necesitas (Node.js, npm) sin instalarlo en tu ordenador.

Ejecutar comandos con Docker

# Run npm install
docker run --rm -v $(pwd):/app -w /app node:lts-alpine npm install

# Run development server
docker run --rm -v $(pwd):/app -w /app -p 4200:4200 node:lts-alpine npm run dev

# Build for production
docker run --rm -v $(pwd):/app -w /app node:lts-alpine npm run build

Estructura del proyecto

├── app/                      # App Router (Next.js 13+)
│   ├── layout.js             # Layout raíz
│   ├── page.js               # Página de inicio
│   ├── api/                  # Rutas de API
│   └── [routes]/             # Rutas dinámicas
├── public/                   # Archivos estáticos
├── components/               # Componentes React
├── styles/                   # Archivos CSS
├── next.config.js            # Configuración de Next.js
├── package.json              # Dependencias
└── Dockerfile                # Configuración Docker
        

Tareas comunes

Crear una página

Crea archivos en el directorio app/:

// app/about/page.js
export default function AboutPage() {
  return <h1>About Us</h1>;
}

Crear una ruta de API

// app/api/users/route.js
export async function GET() {
  return Response.json({ users: [] });
}

export async function POST(request) {
  const data = await request.json();
  return Response.json({ created: data });
}

Server vs Client Components

// Server Component (default) - runs on server
export default async function Page() {
  const data = await fetch('https://api.example.com');
  return <div>{data}</div>;
}

// Client Component - add 'use client' directive
'use client';
import { useState } from 'react';
export default function Counter() {
  const [count, setCount] = useState(0);
  return <button onClick={() => setCount(count + 1)}>{count}</button>;
}

Comandos útiles

npm run dev Iniciar el servidor de desarrollo con Turbopack
npm run build Crear build de producción
npm start Iniciar el servidor de producción
npm run lint Ejecutar ESLint

Resolución de problemas

Errores de hidratación

Solución: Asegúrate de que el servidor y el cliente renderizan el mismo contenido. Usa 'use client' para componentes interactivos.

useState no funciona

Solución: Añade 'use client' al inicio de tu archivo. Los Server Components no pueden usar hooks.

El build falla tras el despliegue

Solución: Ejecuta npm run build localmente primero para comprobar errores antes de hacer push.

Flujo de despliegue

Cambio de código git push npm run build ¡En vivo!
Para más información, visita la documentación oficial de Next.js.