como-usar-expressjs-con-nodejs

Cómo usar Express.js con Node.js

  • 4 min

Express.js es un framework de desarrollo web que simplifica la creación de aplicaciones web y APIs en Node.js. Sin duda, es el framework más popular y empleado para la creación de servidores web.

Express.js ofrece una serie de características como enrutamiento, middleware, gestión de peticiones y respuestas HTTP. Además, es un framework estable, comprobado y ampliamente utilizado.

No obstante es un framework que lleva bastante tiempo con nosotros. Por tanto, han surgido numerosas alternativas, incluso la propia librería nativa node:http, que ha mejorado mucho con el tiempo.

Sin embargo, sigue siendo una de las mejores alternativas y más utilizadas. Dispone de una gran comunidad, y documentación disponible. Por lo cuál es interesante que, al menos, lo conozcáis y sepáis usarlo

Cómo usar Express.js

Instalación de Express.js

Para comenzar, necesitamos instalar Express.js en nuestro proyecto. Podemos hacerlo usando npm (Node Package Manager) con el siguiente comando en la terminal:

npm install express

Una vez instalado, podemos importar Express.js en nuestro código para comenzar a crear nuestro servidor web.

const express = require('express');
const app = express();
const PORT = 3000; // Puerto en el que escuchará el servidor

// aquí definiríamos las rutas
// ver más abajo

// Iniciar el servidor
app.listen(PORT, () => {
  console.log(`Servidor Express escuchando en el puerto ${PORT}`);
});

Así de fácil podemos hacer un servidor web con Express.js

Creación de rutas con Express.js

Una de las características más destacadas de Express.js es su sistema de enrutamiento. Permite definir rutas para manejar diferentes tipos de solicitudes HTTP, como GET, POST, PUT y DELETE. A continuación, veremos cómo crear y manejar rutas en Express.js.

Para definir una ruta en Express.js, utilizamos los métodos de enrutamiento como app.get(), app.post(), app.put(), app.delete(). Estos métodos toman como primer argumento la URL de la ruta y una función de controlador que se ejecutará cuando se haga una solicitud a esa ruta.

Middleware en Express.js

Express.js también ofrece middleware, funciones que se ejecutan antes de llegar a la ruta final. Esto nos permite realizar acciones como validar datos, manejar errores o autenticar usuarios antes de llegar al controlador de ruta.

Ejemplo Completo de Aplicación Express.js

A continuación, vamos a ver un ejemplo completo de una aplicación Express.js que utiliza enrutamiento y middleware:

const express = require('express');
const app = express();
const PORT = 3000;

// Middleware de registro de solicitudes
app.use((req, res, next) => {
  console.log(`Solicitud recibida en: ${req.url}`);
  next();
});

// Ruta GET en la raíz
app.get('/', (req, res) => {
  res.send('¡Hola, mundo desde Express.js!');
});

// Ruta POST para usuarios
app.post('/usuarios', (req, res) => {
  res.send('Información de usuario recibida y procesada');
});

// Ruta dinámica para usuarios
app.get('/usuarios/:id', (req, res) => {
  const { id } = req.params;
  res.send(`Solicitado usuario con ID: ${id}`);
});

// Middleware de manejo de errores
app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).send('Algo salió mal');
});

// Iniciar el servidor
app.listen(PORT, () => {
  console.log(`Servidor Express escuchando en el puerto ${PORT}`);
});

Este ejemplo muestra cómo crear un servidor web básico con Express.js, definir rutas para manejar diferentes tipos de solicitudes HTTP, y utilizar middleware para realizar tareas adicionales como el registro de solicitudes y el manejo de errores.

Descarga el código

Todo el código de esta entrada está disponible para su descarga en Github github-full