Utangulizi wa Middleware in Express.js
Middleware in Express.js ni dhana yenye nguvu inayokuruhusu kutekeleza vitendaji kwa mpangilio maalum wakati wa mzunguko wa maisha wa majibu ya ombi. Vipengele hivi vinaweza kufanya kazi mbalimbali kama vile uthibitishaji, kumbukumbu, uthibitishaji wa data, na zaidi. Middleware kazi zinatekelezwa kwa kufuatana, na kila moja middleware ina ufikiaji wa request
na response
vitu, na vile vile next
kazi, ambayo hupitisha udhibiti kwa inayofuata middleware kwenye safu.
Kwa nini Utumie Middleware ?
Middleware ni muhimu kwa kurekebisha utendakazi wa programu yako na kuimarisha udumishaji wake. Hukuwezesha kuweka vidhibiti vya njia yako vikiwa safi na kulenga kazi mahususi huku ukipakua masuala ya kawaida au mtambuka kwa middleware utendaji kazi. Utenganisho huu wa wasiwasi unakuza utumiaji wa msimbo na kufanya codebase yako kupangwa zaidi.
Kutengeneza na kutumia Middleware
Ili kuunda middleware ndani Express.js, unafafanua chaguo la kukokotoa ambalo huchukua vigezo vitatu: request
, response
, na next
.
Hapa kuna mfano wa msingi wa middleware kwamba kumbukumbu kila ombi linaloingia:
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);
Unaweza kutumia app.use()
mbinu hiyo kuomba middleware kimataifa kwa njia zote, au unaweza kuitumia kwa kuchagua kwa njia mahususi.
Agizo la Middleware Utekelezaji
Middleware kazi zinatekelezwa kwa mpangilio ambazo zimefafanuliwa kwa kutumia app.use()
.
Kwa mfano:
app.use(middleware1);
app.use(middleware2);
Katika kesi hii, middleware1
itatekelezwa hapo awali middleware2
kwa maombi yote yanayoingia.
Kushughulikia Makosa katika Middleware
Ikiwa hitilafu itatokea ndani ya middleware chaguo za kukokotoa, unaweza kupitisha hitilafu kwa next
chaguo hili la kukokotoa, na Express.js utaruka kiotomatiki hadi kwenye kushughulikia makosa middleware.
Hapa kuna mfano:
const errorMiddleware =(err, req, res, next) => {
console.error(err);
res.status(500).send('Something went wrong!');
};
app.use(errorMiddleware);
Inatumika Middleware kwa Uthibitishaji
Middleware hutumika kwa kawaida kutekeleza uthibitishaji na uidhinishaji katika programu za wavuti. Kwa mfano, unaweza kuunda middleware chaguo la kukokotoa ambalo hukagua ikiwa mtumiaji ameidhinishwa kabla ya kuruhusu ufikiaji wa njia fulani:
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!');
});
Hitimisho
Middleware in Express.js ni zana muhimu ya kudhibiti na kuboresha utendakazi wa programu zako za wavuti. Kwa kuunda middleware vitendaji vinavyoweza kutumika tena, unaweza kurekebisha msimbo wako, kurekebisha wasiwasi, na kuboresha udumishaji wa jumla wa miradi yako. Kuanzia kushughulikia uthibitishaji hadi ukataji miti na udhibiti wa makosa, middleware hukupa uwezo wa kuunda programu dhabiti na salama za wavuti kwa ufanisi.