Routing i middleware dva su važna koncepta u Node.js i Express okviru za izgradnju web aplikacija.
Routing:
- Routing je proces određivanja kako rukovati zahtjevima klijenta i odgovoriti odgovarajućim resursima na poslužitelju.
- U Express, možemo definirati rute navođenjem HTTP metode(GET, POST, PUT, DELETE, itd.) i odgovarajuće URL staze.
- Svaka ruta može imati jednu ili više funkcija rukovatelja za obavljanje zadataka kao što su obrada zahtjeva, pristup bazi podataka i slanje odgovora klijentu.
Middleware:
- Middleware su funkcije koje se izvršavaju u nizu prije nego što zahtjev stigne do konačnog rukovatelja rutom.
- Koriste se za izvođenje uobičajenih funkcija i rješavanje posrednih zadataka kao što su provjera autentičnosti, bilježenje, rukovanje pogreškama itd.
- Middleware može se primijeniti na cijelu aplikaciju ili odrediti za određene rute.
- Svaki middleware prima parametre req(zahtjev) i res(odgovor) i može izvršiti obradu, proslijediti zahtjev sljedećem middleware ili završiti obradu slanjem odgovora klijentu.
Primjer kombiniranja Routing i Middleware u 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...');
});
U ovom smo primjeru definirali običaj za bilježenje svakog novog zahtjeva koji dolazi na poslužitelj. Ovo se primjenjuje na cijelu aplikaciju pomoću metode. Zatim smo definirali dvije rute, jednu za glavnu stranicu( ) i drugu za stranicu o stranici( ). Na kraju pokrećemo poslužitelj i slušamo na portu 3000. middleware loggerMiddleware
middleware app.use()
'/'
'/about'
Izvršit će se za svaki zahtjev, bilježeći poruku u konzolu prije prosljeđivanja zahtjeva odgovarajućem rukovatelju rute ili u nizu. middleware loggerMiddleware
middleware
Ova kombinacija routing i middleware omogućuje nam da obrađujemo različite zahtjeve i učinkovito obavljamo uobičajene zadatke u Express aplikaciji.