Routing и middleware являются двумя важными концепциями в Node.js и Express фреймворке для создания веб-приложений.
Routing:
- Routing это процесс определения того, как обрабатывать запросы от клиента и отвечать соответствующими ресурсами на сервере.
- В Express, мы можем определить маршруты, указав метод HTTP(GET, POST, PUT, DELETE и т. д.) и соответствующий путь URL.
- Каждый маршрут может иметь одну или несколько функций-обработчиков для выполнения таких задач, как обработка запросов, доступ к базе данных и отправка ответов клиенту.
Middleware:
- Middleware — это функции, которые выполняются в последовательности до того, как запрос достигнет конечного обработчика маршрута.
- Они используются для выполнения общих функций и обработки промежуточных задач, таких как аутентификация, ведение журнала, обработка ошибок и т. д.
- Middleware могут быть применены ко всему приложению или указаны для определенных маршрутов.
- Каждый middleware получает параметры req(запрос) и res(ответ) и может выполнять обработку, передавать запрос следующему middleware или завершать обработку, отправляя ответ клиенту.
Пример объединения Routing and Middleware in 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...');
});
В этом примере мы определили обычай для регистрации каждого нового запроса, поступающего на сервер. Это применяется ко всему приложению с помощью метода. Затем мы определили два маршрута: один для главной страницы( ), а другой для страницы «О нас»( ). Наконец, мы запускаем сервер и слушаем порт 3000. middleware loggerMiddleware
middleware app.use()
'/'
'/about'
Будет выполняться для каждого запроса, записывая сообщение в консоль перед передачей запроса соответствующему обработчику маршрута или в последовательности. middleware loggerMiddleware
middleware
Эта комбинация routing и middleware позволяет нам обрабатывать различные запросы и эффективно выполнять общие задачи в Express приложении.