Методы создания промежуточного программного обеспечения в Node.js

Чтобы создать промежуточное ПО в Node.js, вы можете использовать несколько методов. Вот несколько подходов:

  1. Пользовательская функция промежуточного программного обеспечения.
    Вы можете создать собственную функцию промежуточного программного обеспечения, которая принимает три аргумента: запрос, ответи следующий. Внутри функции промежуточного программного обеспечения вы можете выполнять задачи, изменять объекты запроса или ответа и вызывать функцию next, чтобы передать управление следующему промежуточному программному обеспечению в цепочке.

    const customMiddleware = (req, res, next) => {
     // Perform middleware tasks
     // Modify req or res if needed
     // Call next to pass control to the next middleware
     next();
    };
    // Implement middleware in your routes
    app.use(customMiddleware);
  2. Библиотеки промежуточного программного обеспечения.
    В экосистеме Node.js доступны популярные библиотеки промежуточного программного обеспечения, которые предоставляют готовые функции промежуточного программного обеспечения для общих задач. Примеры:

    • Express.js: Express — это широко используемая платформа Node.js, которая предоставляет различные функции промежуточного программного обеспечения «из коробки». Вы можете использовать их, вызвав app.use()или router.use().
    • Helmet: промежуточное программное обеспечение для защиты HTTP-заголовков.
    • Morgan: промежуточное программное обеспечение для регистрации HTTP-запросов.
    • Body-parser: промежуточное программное обеспечение для анализа тела запроса.
    const express = require('express');
    const helmet = require('helmet');
    const morgan = require('morgan');
    const bodyParser = require('body-parser');
    const app = express();
    app.use(helmet());
    app.use(morgan('dev'));
    app.use(bodyParser.json());
  3. Промежуточное программное обеспечение для обработки ошибок.
    Вы можете создать промежуточное программное обеспечение для обработки ошибок, которое будет обрабатывать ошибки, возникающие во время конвейера обработки запросов. Это промежуточное программное обеспечение должно быть определено после всех остальных промежуточных программ и маршрутов.

    const errorHandler = (err, req, res, next) => {
     // Handle the error
     res.status(500).json({ error: 'Something went wrong' });
    };
    // Implement error handling middleware
    app.use(errorHandler);