En Express.js, el middleware es una función que tiene acceso al
objeto de solicitud (req
),
al objeto de respuesta (res
)
y a la siguiente función de middleware en el ciclo de
solicitud/respuesta de la aplicación. Los middleware se utilizan
para ejecutar código en el medio de la solicitud, antes de que
llegue a su destino final.
Puedes utilizar middleware para una variedad de propósitos, como la autenticación, la gestión de errores, el registro de solicitudes, la compresión de respuesta, entre otros. Aquí te muestro cómo puedes utilizar middleware en Express.js:
Middleware de Aplicación:
El middleware de aplicación se
aplica a todas las rutas en tu aplicación Express. Puedes usar la
función app.use()
para
aplicar middleware de aplicación.
const express = require('express'); const app = express(); // Middleware de aplicación para registrar solicitudes app.use((req, res, next) => { console.log(`Solicitud recibida: ${req.method} ${req.url}`); next(); }); // Ruta de inicio app.get('/', (req, res) => { res.send('¡Hola, mundo!'); }); // Middleware de aplicación para manejar errores app.use((err, req, res, next) => { console.error(err.stack); res.status(500).send('Algo salió mal'); }); // Iniciar el servidor const puerto = 3000; app.listen(puerto, () => { console.log(`Servidor Express iniciado en el puerto ${puerto}`); });
Middleware de Ruta:
El middleware de ruta se aplica a una ruta específica en tu aplicación Express. Puedes utilizar funciones middleware como argumentos de ruta.
const express = require('express'); const app = express(); // Middleware de ruta para verificar la autenticación function verificarAutenticacion(req, res, next) { if (req.isAuthenticated()) { next(); } else { res.status(401).send('No autenticado'); } } // Ruta protegida que requiere autenticación app.get('/ruta-protegida', verificarAutenticacion, (req, res) => { res.send('Ruta protegida'); }); // Iniciar el servidor const puerto = 3000; app.listen(puerto, () => { console.log(`Servidor Express iniciado en el puerto ${puerto}`); });
Middleware de Terceros:
También puedes utilizar middleware de terceros proporcionados por la comunidad de Express.js o crear tu propio middleware personalizado para adaptarse a tus necesidades específicas.
const express = require('express'); const app = express(); const bodyParser = require('body-parser'); // Middleware de terceros para analizar el cuerpo de las solicitudes app.use(bodyParser.json()); // Middleware personalizado para registrar la hora de llegada de la solicitud function logHoraDeLlegada(req, res, next) { console.log(`Hora de llegada: ${new Date()}`); next(); } // Ruta que utiliza el middleware personalizado app.get('/', logHoraDeLlegada, (req, res) => { res.send('¡Hola, mundo!'); }); // Iniciar el servidor const puerto = 3000; app.listen(puerto, () => { console.log(`Servidor Express iniciado en el puerto ${puerto}`); });
Estos son solo algunos ejemplos de cómo puedes utilizar middleware en Express.js para diferentes propósitos. Los middleware te permiten modularizar tu código y agregar funcionalidades a tu aplicación de manera flexible y fácilmente mantenible.
0 Comments:
Publicar un comentario