Чтобы создать промежуточное ПО в Node.js, вы можете использовать несколько методов. Вот несколько подходов:
-
Пользовательская функция промежуточного программного обеспечения.
Вы можете создать собственную функцию промежуточного программного обеспечения, которая принимает три аргумента:запрос
,ответ
иследующий
. Внутри функции промежуточного программного обеспечения вы можете выполнять задачи, изменять объекты запроса или ответа и вызывать функцию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);
-
Библиотеки промежуточного программного обеспечения.
В экосистеме 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());
- Express.js: Express — это широко используемая платформа Node.js, которая предоставляет различные функции промежуточного программного обеспечения «из коробки». Вы можете использовать их, вызвав
-
Промежуточное программное обеспечение для обработки ошибок.
Вы можете создать промежуточное программное обеспечение для обработки ошибок, которое будет обрабатывать ошибки, возникающие во время конвейера обработки запросов. Это промежуточное программное обеспечение должно быть определено после всех остальных промежуточных программ и маршрутов.const errorHandler = (err, req, res, next) => { // Handle the error res.status(500).json({ error: 'Something went wrong' }); }; // Implement error handling middleware app.use(errorHandler);