Pambuka Middleware ing Express.js
Middleware ing Express.js punika konsep kuat sing ngijini sampeyan kanggo nglakokaké fungsi ing urutan tartamtu sak siklus urip request-respon. Fungsi kasebut bisa nindakake macem-macem tugas kayata otentikasi, logging, validasi data, lan liya-liyane. Middleware fungsi sing kaleksanan sequentially, lan saben middleware duwe akses kanggo request
lan response
obyek, uga next
fungsi, kang liwat kontrol kanggo sabanjuré middleware ing tumpukan.
Kenapa Gunakake Middleware ?
Middleware iku penting kanggo modularizing fungsi aplikasi lan nambah sawijining maintainability. Iki ngidini sampeyan njaga panangan rute sampeyan tetep resik lan fokus ing tugas tartamtu nalika ngunggahake masalah sing umum utawa salib menyang middleware fungsi. Pemisahan keprihatinan iki ningkatake panggunaan maneh kode lan nggawe basis kode sampeyan luwih teratur.
Nggawe lan Nggunakake Middleware
Kanggo nggawe middleware ing Express.js, sampeyan nemtokake fungsi sing njupuk telung paramèter: request
, response
, lan next
.
Iki minangka conto dhasar middleware sing nyathet saben panjaluk sing mlebu:
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);
Sampeyan bisa nggunakake app.use()
cara kanggo aplikasi middleware global kanggo kabeh rute, utawa sampeyan bisa nggunakake selektif kanggo rute tartamtu.
Urutan Middleware Eksekusi
Middleware fungsi sing kaleksanan ing urutan padha ditetepake nggunakake app.use()
.
Tuladhane:
app.use(middleware1);
app.use(middleware2);
Ing kasus iki, middleware1
bakal kaleksanan sadurunge middleware2
kanggo kabeh panjalukan mlebu.
Nangani Kasalahan ing Middleware
Yen ana kesalahan ing sawijining middleware fungsi, sampeyan bisa ngirim kesalahan kasebut menyang next
fungsi kasebut, lan Express.js kanthi otomatis pindhah menyang penanganan kesalahan middleware.
Iki contone:
const errorMiddleware =(err, req, res, next) => {
console.error(err);
res.status(500).send('Something went wrong!');
};
app.use(errorMiddleware);
Nggunakake Middleware kanggo Authentication
Middleware umume digunakake kanggo ngleksanakake otentikasi lan wewenang ing aplikasi web. Umpamane, sampeyan bisa nggawe middleware fungsi sing mriksa manawa pangguna wis diotentikasi sadurunge ngidini akses menyang rute tartamtu:
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!');
});
Kesimpulan
Middleware ing Express.js minangka alat penting kanggo ngatur lan ningkatake fungsi aplikasi web sampeyan. Kanthi nggawe middleware fungsi sing bisa digunakake maneh, sampeyan bisa nyepetake kode sampeyan, ngowahi keprihatinan, lan nambah pangopènan sakabèhé proyek sampeyan. Saka nangani otentikasi nganti logging lan manajemen kesalahan, middleware sampeyan bisa nggawe aplikasi web sing kuat lan aman kanthi efisien.