Hyrje në Middleware në Express.js
Middleware in Express.js është një koncept i fuqishëm që ju lejon të ekzekutoni funksionet në një rend specifik gjatë ciklit të jetës së kërkesë-përgjigje. Këto funksione mund të kryejnë detyra të ndryshme si vërtetimi, regjistrimi, vlefshmëria e të dhënave dhe më shumë. Middleware funksionet ekzekutohen në mënyrë sekuenciale, dhe secili middleware ka akses në objektet request
dhe response
, si dhe next
funksionin, i cili ia kalon kontrollin tjetrit middleware në stek.
Pse Përdorni Middleware ?
Middleware është thelbësore për modularizimin e funksionalitetit të aplikacionit tuaj dhe rritjen e mirëmbajtjes së tij. Kjo ju mundëson t'i mbani të pastër dhe të përqendruar në detyra specifike mbajtësit e itinerarit, ndërsa ngarkoni shqetësimet e zakonshme ose të ndërthurura në middleware funksione. Kjo ndarje e shqetësimeve promovon ripërdorimin e kodit dhe e bën bazën tuaj të kodit më të organizuar.
Krijimi dhe përdorimi Middleware
Për të krijuar middleware në Express.js, ju përcaktoni një funksion që merr tre parametra: request
, response
, dhe next
.
Këtu është një shembull bazë i middleware regjistrimit të çdo kërkese hyrëse:
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);
Ju mund të përdorni app.use()
metodën për të aplikuar middleware globalisht në të gjitha rrugët, ose mund ta përdorni në mënyrë selektive për rrugë specifike.
Urdhri i Middleware Ekzekutimit
Middleware funksionet ekzekutohen sipas radhës që përcaktohen duke përdorur app.use()
.
Për shembull:
app.use(middleware1);
app.use(middleware2);
Në këtë rast, middleware1
do të ekzekutohet më parë middleware2
për të gjitha kërkesat hyrëse.
Trajtimi i gabimeve në Middleware
Nëse ndodh një gabim brenda një middleware funksioni, ju mund ta kaloni gabimin te next
funksioni dhe Express.js automatikisht do të kaloni te trajtimi i gabimeve middleware.
Ja një shembull:
const errorMiddleware =(err, req, res, next) => {
console.error(err);
res.status(500).send('Something went wrong!');
};
app.use(errorMiddleware);
Përdorimi Middleware për vërtetim
Middleware përdoret zakonisht për zbatimin e vërtetimit dhe autorizimit në aplikacionet në ueb. Për shembull, mund të krijoni një middleware funksion që kontrollon nëse një përdorues është vërtetuar përpara se të lejoni aksesin në rrugë të caktuara:
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!');
});
konkluzioni
Middleware in Express.js është një mjet jetik për menaxhimin dhe përmirësimin e funksionalitetit të aplikacioneve tuaja në ueb. Duke krijuar middleware funksione të ripërdorshme, ju mund të thjeshtoni kodin tuaj, të modularizoni shqetësimet dhe të përmirësoni mirëmbajtjen e përgjithshme të projekteve tuaja. Nga trajtimi i vërtetimit te regjistrimi dhe menaxhimi i gabimeve, middleware ju fuqizon të ndërtoni aplikacione të fuqishme dhe të sigurta në internet në mënyrë efikase.