Маршрутизация и промежуточное ПО — две важные концепции 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.