Routing i middleware to dwie ważne koncepcje w Node.js oraz Express framework do tworzenia aplikacji internetowych.
Routing:
- Routing to proces określania sposobu obsługi żądań od klienta i odpowiadania odpowiednimi zasobami na serwerze.
- W programie Express możemy definiować trasy, określając metodę HTTP(GET, POST, PUT, DELETE itp.) oraz odpowiednią ścieżkę URL.
- Każda trasa może mieć jedną lub więcej funkcji obsługi do wykonywania zadań, takich jak przetwarzanie żądań, dostęp do bazy danych i wysyłanie odpowiedzi do klienta.
Middleware:
- Middleware to funkcje, które są wykonywane w sekwencji, zanim żądanie dotrze do końcowego programu obsługi trasy.
- Służą do wykonywania typowych funkcjonalności i obsługi zadań pośrednich, takich jak uwierzytelnianie, logowanie, obsługa błędów itp.
- Middleware można zastosować do całej aplikacji lub określić dla określonych tras.
- Każdy middleware otrzymuje parametry req(żądanie) i res(odpowiedź) i może wykonać przetwarzanie, przekazać żądanie do następnego middleware lub zakończyć przetwarzanie, wysyłając odpowiedź do klienta.
Przykład łączenia Routing i Middleware w 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...');
});
W tym przykładzie zdefiniowaliśmy zwyczaj rejestrowania każdego nowego żądania przychodzącego do serwera. Jest to stosowane do całej aplikacji przy użyciu metody. Następnie zdefiniowaliśmy dwie trasy, jedną dla strony głównej( ), a drugą dla strony informacyjnej( ). Na koniec uruchamiamy serwer i nasłuchujemy na porcie 3000. middleware loggerMiddleware
middleware app.use()
'/'
'/about'
Zostanie wykonane dla każdego żądania, rejestrując komunikat w konsoli przed przekazaniem żądania do odpowiedniego programu obsługi trasy lub w sekwencji. middleware loggerMiddleware
middleware
Ta kombinacja routing i middleware pozwala nam obsługiwać różne żądania i wydajnie wykonywać typowe zadania w Express aplikacji.