Middleware en Express.js

Node.js es un entorno de tiempo de ejecución multiplataforma y de código abierto basado en el motor JavaScript V8 de Chrome para ejecutar código JavaScript fuera de un navegador. Debe recordar que NodeJS no es un marco y no es un lenguaje de programación. En este artículo, discutiremos qué es el middleware en express.js 

Express.js es un marco de enrutamiento y Middleware para manejar los diferentes enrutamientos de la página web y funciona entre el ciclo de solicitud y respuesta. El middleware se ejecuta después de que el servidor recibe la solicitud y antes de que las acciones del controlador envíen la respuesta. El middleware tiene acceso al objeto de solicitud, al objeto de respuesta y, a continuación, puede procesar la solicitud antes de que el servidor envíe una respuesta. Una aplicación basada en Express es una serie de llamadas a funciones de middleware.
 

Trabajo de software intermedio

Ventajas de usar middleware:

  • El middleware puede procesar objetos de solicitud varias veces antes de que el servidor funcione para esa solicitud.
  • El middleware se puede utilizar para agregar funciones de registro y autenticación.
  • El middleware mejora el rendimiento de representación del lado del cliente.
  • El middleware se utiliza para configurar algunos encabezados HTTP específicos.
  • Middleware ayuda a la optimización y un mejor rendimiento.

Enstringmiento de middleware: el middleware se puede enstringr de uno a otro, creando así una string de funciones que se ejecutan en orden. La última función envía la respuesta al navegador. Entonces, antes de enviar la respuesta al navegador, los diferentes middleware procesan la solicitud.

La función next() en express es responsable de llamar a la siguiente función de middleware, si la hay.

Las requests modificadas estarán disponibles para cada middleware a través de la siguiente función:

Ejemplo de enstringmiento de middleware

En el caso anterior, la solicitud entrante se modifica y se realizan varias operaciones usando varios middlewares, y el middleware se enstring usando la siguiente función. El enrutador envía la respuesta al navegador.

Sintaxis de middleware: la sintaxis básica para las funciones de middleware es la siguiente:

app.get(path, (req, res, next) => {}, (req, res) => {})

La parte central (req,res,next)=>{} es la función de middleware. Aquí generalmente realizamos las acciones requeridas antes de que el usuario pueda ver la página web o llamar a los datos y muchas otras funciones. Entonces, creemos nuestro propio middleware y veamos sus usos.

Vamos a crear nuestro middleware y ver cómo se ejecuta.

Paso 1: vaya al directorio de su proyecto e ingrese el siguiente comando para crear un proyecto de NodeJs. Asegúrese de que NodeJs esté instalado en su máquina.

npm init -y

Creará un archivo package.json. 

Paso 2: Instale dos dependencias usando el siguiente comando.

npm install express nodemon

Paso 3: en la sección de secuencias de comandos del archivo package.json, agregue la siguiente línea de código.

"start": "nodemon index.js", 

Paso 4: Cree un archivo index.js en el directorio. Asegúrese de que no esté dentro de ningún subdirectorio del directorio en el que está trabajando.

Estructura del proyecto: Tendrá el siguiente aspecto. 

Estructura del proyecto

Ahora configuraremos nuestra aplicación express y enviaremos una respuesta a nuestro servidor .

Aquí está el código para el archivo index.js .

Javascript

const express = require("express");
const app = express();
 
const port = process.env.port || 3000;
app.get("/", (req, res) => {
  res.send(`<div>
    <h2>Welcome to GeeksforGeeks</h2>
    <h5>Tutorial on Middleware</h5>
  </div>`);
});
app.listen(port, () => {
  console.log(`Listening to port ${port}`);
});

Paso para ejecutar la aplicación: Ejecute el código ingresando el siguiente comando en la terminal.

npm start

Producción:

Cree un Middleware: en la función app.get() , modifique de acuerdo con el siguiente código.

índice.js

Javascript

app.get(
  "/",
  (req, res, next) => {
    console.log("hello");
    next();
  },
  (req, res) => {
    res.send(`<div>
    <h2>Welcome to GeeksforGeeks</h2>
    <h5>Tutorial on Middleware</h5>
  </div>`);
  }
);

Producción:

software intermedio

Publicación traducida automáticamente

Artículo escrito por _mukul_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *