Руководство по маршрутизации и промежуточному ПО в Express

Маршрутизация и промежуточное ПО — две важные концепции Node.js и среды Express для создания веб-приложений.

Маршрутизация:

  • Маршрутизация — это процесс определения того, как обрабатывать запросы от клиента и отвечать соответствующими ресурсами на сервере.
  • В Express мы можем определить маршруты, указав метод HTTP (GET, POST, PUT, DELETE и т. д.) и соответствующий путь URL.
  • Каждый маршрут может иметь одну или несколько функций-обработчиков для выполнения таких задач, как обработка запросов, доступ к базе данных и отправка ответов клиенту.

Промежуточное ПО:

  • Промежуточное ПО — это функции, которые последовательно выполняются до того, как запрос достигнет обработчика конечного маршрута.
  • Они используются для выполнения общих функций и обработки промежуточных задач, таких как аутентификация, ведение журнала, обработка ошибок и т. д.
  • Промежуточное ПО может применяться ко всему приложению или специфицироваться для определенных маршрутов.
  • Каждое промежуточное ПО получает параметры req (запрос) и res (ответ) и может выполнять обработку, передавать запрос следующему промежуточному ПО или завершать обработку, отправляя ответ клиенту.

Пример объединения маршрутизации и промежуточного ПО в Express:

const express = require('express');
const app = express();

// Middleware
const loggerMiddleware = (req, res, next) => {
  console.log('A new request has arrived!');
  next();
};

// Apply middleware to the entire application
app.use(loggerMiddleware);

// Main route
app.get('/', (req, res) => {
  res.send('Welcome to the homepage!');
});

// Another route
app.get('/about', (req, res) => {
  res.send('This is the about page!');
});

// Start the server
app.listen(3000, () => {
  console.log('Server is listening on port 3000...');
});

В этом примере мы определили пользовательское промежуточное ПО loggerMiddlewareдля регистрации каждого нового запроса, поступающего на сервер. Это промежуточное ПО применяется ко всему приложению с помощью app.use()метода. Затем мы определили два маршрута: один для главной страницы ( '/'), а другой для страницы «О нас» ( '/about'). Наконец, мы запускаем сервер и слушаем порт 3000.

Промежуточное ПО loggerMiddlewareбудет выполняться для каждого запроса, регистрируя сообщение на консоли перед передачей запроса соответствующему обработчику маршрута или промежуточному ПО в последовательности.

Эта комбинация маршрутизации и промежуточного программного обеспечения позволяет нам обрабатывать различные запросы и эффективно выполнять общие задачи в приложении Express.