Express.js
Descripción general
Express.js es un framework web rápido, sin opiniones y minimalista para Node.js. Ofrece funcionalidades robustas para construir aplicaciones web y APIs REST con un enfoque en la simplicidad y la flexibilidad.
Inicio rápido
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 Express del menú desplegable, introduce un nombre de repositorio y un subdominio, y luego haz clic en "Create Repository".
Clona tu repositorio
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Instala las dependencias
npm install
Inicia el servidor de desarrollo
npm run dev
El servidor se ejecuta en http://localhost:3000 por defecto.
Sube tus cambios
git add .
git commit -m "Initial setup"
git push origin main
Desarrollo local con Docker
Si no tienes Node.js instalado localmente, puedes usar Docker para ejecutar comandos de Express.
Ejecutar comandos con Docker
# Run npm install
docker run --rm -v $(pwd):/app -w /app node:lts npm install
# Run development server
docker run --rm -v $(pwd):/app -w /app -p 3000:3000 node:lts npm run dev
Estructura del proyecto
├── src/
│ ├── controllers/ # Manejadores de peticiones
│ ├── middleware/ # Middleware personalizado
│ ├── models/ # Modelos de la base de datos
│ ├── routes/ # Definiciones de rutas
│ └── server.js # Configuración de la app Express
├── views/ # Plantillas EJS
├── public/ # Archivos estáticos
├── prisma/ # Esquema de Prisma
├── package.json # Dependencias
└── Dockerfile # Configuración Docker
Tareas comunes
Crear una ruta
const express = require('express');
const router = express.Router();
router.get('/users', (req, res) => {
res.json({ message: 'Get all users' });
});
module.exports = router;
Usar Prisma ORM
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();
const users = await prisma.user.findMany();
const user = await prisma.user.create({
data: { name: 'John', email: 'john@example.com' }
});
Comandos útiles
npm run dev
Iniciar el servidor de desarrollo con nodemon
npm start
Iniciar el servidor de producción
npx prisma migrate dev
Ejecutar migraciones de Prisma
Resolución de problemas
Falló la conexión a la base de datos
Solución: Comprueba DATABASE_URL en el archivo .env. Formato: mysql://user:password@host:port/database
El puerto 3000 ya está en uso
Solución: Cambia PORT en el archivo .env o detén el otro proceso.