Middleware julkaisussa Express.js: Handling Intermediate Reque

Johdatus Middleware sisään Express.js

Middleware in Express.js on tehokas konsepti, jonka avulla voit suorittaa toimintoja tietyssä järjestyksessä pyyntö-vastauksen elinkaaren aikana. Nämä toiminnot voivat suorittaa erilaisia ​​tehtäviä, kuten todennusta, kirjaamista, tietojen validointia ja paljon muuta. Middleware funktiot suoritetaan peräkkäin, ja jokaisella middleware on pääsy request ja- response objekteihin sekä toimintoon, joka siirtää ohjauksen pinon seuraavalle next. middleware

Miksi käyttää Middleware ?

Middleware on välttämätön sovelluksesi toiminnallisuuden modularisoimiseksi ja sen ylläpidettävyyden parantamiseksi. Sen avulla voit pitää reitinkäsittelijäsi puhtaana ja keskittyneenä tiettyihin tehtäviin samalla kun siirrät yleiset tai monialaiset huolenaiheet toimintoihin middleware. Tämä huolenaiheiden erottelu edistää koodin uudelleenkäytettävyyttä ja tekee koodikannastasi organisoidumman.

Luominen ja käyttö Middleware

Luodaksesi sovelluksessa middleware, Express.js määrität funktion, joka ottaa kolme parametria: request, response, ja next.

Tässä on perusesimerkki, middleware joka kirjaa jokaisen saapuvan pyynnön:

const logMiddleware =(req, res, next) => {  
  console.log(`Received a ${req.method} request at ${req.url}`);  
  next(); // Pass control to the next middleware  
};  
  
app.use(logMiddleware);  

Voit käyttää app.use() menetelmää middleware globaalisti kaikille reiteille tai voit käyttää sitä valikoivasti tietyille reiteille.

Toteutusjärjestys Middleware _

Middleware funktiot suoritetaan siinä järjestyksessä, jossa ne on määritetty käyttämällä app.use().

Esimerkiksi:

app.use(middleware1);  
app.use(middleware2);  

Tässä tapauksessa middleware1 suoritetaan ennen middleware2 kaikille saapuville pyynnöille.

Käsittelyvirheitä Middleware

Jos funktiossa tapahtuu virhe middleware, voit välittää virheen funktiolle next ja Express.js siirtyy automaattisesti virheenkäsittelyyn middleware.

Tässä on esimerkki:

const errorMiddleware =(err, req, res, next) => {  
  console.error(err);  
  res.status(500).send('Something went wrong!');  
};  
  
app.use(errorMiddleware);  

Käyttö Middleware todennukseen

Middleware käytetään yleisesti todennuksen ja valtuutuksen toteuttamiseen web-sovelluksissa. Voit esimerkiksi luoda middleware toiminnon, joka tarkistaa, onko käyttäjä todennettu ennen kuin sallit pääsyn tietyille reiteille:

const authenticateMiddleware =(req, res, next) => {  
  if(req.isAuthenticated()) {  
    return next(); // User is authenticated, proceed to the next middleware  
  }  
  res.redirect('/login'); // User is not authenticated, redirect to login page  
};  
  
app.get('/profile', authenticateMiddleware,(req, res) => {  
  res.send('Welcome to your profile!');  
});  

 

Johtopäätös

Middleware in Express.js on tärkeä työkalu verkkosovellustesi hallintaan ja toimivuuden parantamiseen. Luomalla uudelleenkäytettäviä middleware toimintoja voit virtaviivaistaa koodiasi, moduloida huolenaiheita ja parantaa projektiesi yleistä ylläpidettävyyttä. Todennuksen käsittelystä lokiin ja virheiden hallintaan middleware antaa sinulle mahdollisuuden rakentaa tehokkaita ja suojattuja verkkosovelluksia.