Routing ja middleware ovat kaksi tärkeää käsitettä Node.js:ssä ja Express verkkosovellusten rakentamisen kehyksessä.
Routing:
- Routing on prosessi, jossa määritetään, kuinka käsitellä asiakkaan pyyntöjä ja vastata vastaavilla resursseilla palvelimella.
- Kohteessa Express, voimme määrittää reitit määrittämällä HTTP-menetelmän(GET, POST, PUT, DELETE jne.) ja vastaavan URL-polun.
- Jokaisella reitillä voi olla yksi tai useampi käsittelijätoiminto suorittamaan tehtäviä, kuten pyyntöjen käsittelyä, pääsyä tietokantaan ja vastausten lähettämistä asiakkaalle.
Middleware:
- Middleware ovat toimintoja, jotka suoritetaan järjestyksessä ennen kuin pyyntö saavuttaa lopullisen reitinkäsittelijän.
- Niitä käytetään suorittamaan yleisiä toimintoja ja hoitamaan välitehtäviä, kuten todennus, lokikirjaus, virheiden käsittely jne.
- Middleware voidaan soveltaa koko sovellukseen tai määrittää tietyille reiteille.
- Jokainen middleware vastaanottaa parametrit req(pyyntö) ja res(vastaus) ja voi suorittaa käsittelyn, välittää pyynnön seuraavalle middleware tai lopettaa käsittelyn lähettämällä vastauksen asiakkaalle.
Esimerkki Routing ja Middleware yhdistämisestä 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...');
});
Tässä esimerkissä olemme määrittäneet mukautetun kirjaamaan kaikki palvelimelle tulevat uudet pyynnöt. Tätä sovelletaan koko sovellukseen menetelmää käyttäen. Tämän jälkeen olemme määrittäneet kaksi reittiä, yhden pääsivulle( ) ja toisen tietosivulle( ). Lopuksi käynnistämme palvelimen ja kuuntelemme porttia 3000. middleware loggerMiddleware
middleware app.use()
'/'
'/about'
Suoritetaan jokaiselle pyynnölle, kirjaamalla viestin konsoliin ennen pyynnön välittämistä vastaavalle reitinkäsittelijälle tai järjestyksessä. middleware loggerMiddleware
middleware
routing Tämä yhdistelmä middleware antaa meille mahdollisuuden käsitellä erilaisia pyyntöjä ja suorittaa yleisiä tehtäviä tehokkaasti sovelluksessa Express.