Publicado el 21 de octubre de 2024 · 8 min de lectura
Express.js es un framework minimalista de Node.js que permite crear servidores y manejar rutas de forma sencilla y eficiente. Con Express, puedes configurar un servidor en pocos pasos y comenzar a manejar solicitudes HTTP de manera organizada. En esta guía, aprenderás cómo crear y configurar un servidor básico en Node.js usando Express.
Antes de comenzar, asegúrate de tener Node.js instalado en tu sistema. Puedes verificarlo ejecutando el siguiente comando en la terminal:
node -v
Si Node.js está instalado correctamente, verás la versión actual. A continuación, crea una nueva carpeta para tu proyecto, navega a ella y ejecuta npm init -y
para iniciar un proyecto Node.js:
mkdir mi-servidor-express
cd mi-servidor-express
npm init -y
Luego, instala Express usando el comando npm install express
:
npm install express
Una vez que Express esté instalado, crea un archivo llamado server.js
en el directorio principal del proyecto. Este archivo contendrá la configuración básica para tu servidor Express. Aquí tienes un ejemplo de configuración básica:
// server.js
const express = require('express');
const app = express();
const PORT = 3000;
app.get('/', (req, res) => {
res.send('¡Hola, mundo desde Express!');
});
app.listen(PORT, () => {
console.log(`Servidor escuchando en http://localhost:${PORT}`);
});
En este ejemplo, estamos creando una aplicación Express, definiendo una ruta simple /
que responde con el mensaje "¡Hola, mundo desde Express!" y configurando el servidor para que escuche en el puerto 3000.
Express facilita la creación de rutas para manejar diferentes solicitudes HTTP. Aquí tienes un ejemplo de cómo definir rutas GET
, POST
, PUT
, y DELETE
:
app.get('/api', (req, res) => {
res.send('Solicitud GET recibida');
});
app.post('/api', (req, res) => {
res.send('Solicitud POST recibida');
});
app.put('/api', (req, res) => {
res.send('Solicitud PUT recibida');
});
app.delete('/api', (req, res) => {
res.send('Solicitud DELETE recibida');
});
Cada una de estas rutas responde a un tipo específico de solicitud HTTP y devuelve un mensaje de confirmación.
El middleware en Express es una función que se ejecuta antes de que la solicitud llegue a la ruta final. Puedes usar middleware para tareas como registrar solicitudes, verificar autenticación o procesar datos. A continuación, se muestra un ejemplo de middleware que registra cada solicitud:
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`);
next();
});
En este ejemplo, el middleware registra el método y la URL de cada solicitud y luego llama a next()
para pasar el control a la siguiente función de middleware o a la ruta.
Express permite definir rutas con parámetros para manejar solicitudes dinámicas. Por ejemplo:
app.get('/usuario/:id', (req, res) => {
const userId = req.params.id;
res.send(`Usuario ID: ${userId}`);
});
En esta ruta, :id
es un parámetro que se captura a partir de la URL. Cuando un usuario accede a /usuario/123
, el servidor responderá con "Usuario ID: 123".
Para servir archivos estáticos como imágenes, CSS, o JavaScript, usa el middleware express.static
. Primero, crea una carpeta llamada public
en el directorio de tu proyecto y coloca allí tus archivos. Luego, configura Express para servir esta carpeta:
app.use(express.static('public'));
Ahora, puedes acceder a los archivos estáticos en la carpeta public
desde cualquier ruta. Por ejemplo, si tienes un archivo public/imagen.png
, puedes acceder a él en http://localhost:3000/imagen.png
.
Por último, configura el servidor para escuchar en un puerto determinado. Este es el código necesario para que tu servidor escuche en el puerto 3000:
app.listen(PORT, () => {
console.log(`Servidor escuchando en http://localhost:${PORT}`);
});
En este artículo, hemos cubierto los conceptos básicos para configurar un servidor con Express en Node.js, desde la instalación hasta la creación de rutas y el uso de middleware. Express hace que sea sencillo y rápido configurar un servidor y manejar rutas, lo que lo convierte en una excelente opción para desarrolladores que buscan eficiencia y flexibilidad en sus proyectos Node.js. ¡Ahora estás listo para comenzar a construir aplicaciones más complejas con Express!