DevPath · Aprende a programar ESPTEN

Middleware en Express

La cadena de middlewares

Una tubería ordenada

En Express los middlewares forman una cadena (una pipeline). La petición los atraviesa en el orden en que se registran, y cada eslabón decide:

app.use(logger);        // 1.º para TODAS las rutas
app.use(requiereAuth);  // 2.º
app.get("/tareas", listarTareas); // handler final

Si requiereAuth responde un 401, el handler listarTareas nunca se ejecuta: la petición ya está resuelta.

Global vs. por ruta

Middleware de aplicación (logging)

Un caso clásico es registrar cada petición. El middleware suele enriquecer el objeto req (añadirle datos) o anotar en algún sitio antes de pasar el testigo:

function logger(req, res, next) {
  req.momento = Date.now(); // enriquece la petición
  console.log(req.method, req.url);
  next(); // ¡imprescindible para no colgar la petición!
}

Regla de oro: un middleware que no responde debe llamar a next(). Si lo olvida, la petición se queda colgada para siempre.

Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
← Middleware y nextVer el módulo →