Middleware trong expressjs là gì?
BlackMan
Posted on June 16, 2023
Trong Express.js, middleware là các hàm xử lý trung gian được thực thi tuần tự trong quá trình xử lý yêu cầu HTTP. Middleware có thể thực hiện các tác vụ như kiểm tra xác thực, ghi log, xử lý lỗi, xử lý yêu cầu và phản hồi, và nhiều chức năng bổ sung khác.
Middleware trong Express.js có hai loại chính: middleware ứng dụng (application-level middleware) và middleware định tuyến (router-level middleware).
Middleware ứng dụng (Application-level middleware): Đây là những middleware được áp dụng cho toàn bộ ứng dụng Express.js. Bạn có thể sử dụng phương thức app.use() để đăng ký middleware ứng dụng. Ví dụ:
var cookieParser = require('cookie-parser');
app.use(cookieParser());
Middleware định tuyến (Router-level middleware): Đây là những middleware được áp dụng cho một nhóm tuyến đường (routes) cụ thể. Bạn có thể sử dụng phương thức router.use() để đăng ký middleware định tuyến.
const checkloginPartner = function (req, res, next) {
if (req.cookies.Sbaytoken) {
var decoded = jwt.verify(req.cookies.Sbaytoken, process.env.CookiesSecretKey);
//console.log(decoded);
if (decoded.userID) {
req.decoded = decoded
next()
}
} else {
res.redirect('/dang-nhap')
}
}
router.get('/', checkloginPartner, async function (req, res, next) {
res.end('next page')
}
Middleware có thể được định nghĩa dưới dạng hàm đơn giản hoặc là một chuỗi các middleware tuần tự. Các middleware có thể gọi next() để chuyển tiếp yêu cầu tới middleware tiếp theo trong chuỗi.
Express.js cung cấp một số middleware tích hợp sẵn như body-parser để xử lý dữ liệu từ yêu cầu, cors để xử lý vấn đề chính sách chia sẻ nguồn tài nguyên xác định bởi cơ chế Same-Origin Policy (SOP), và morgan để ghi log yêu cầu. Ngoài ra, bạn cũng có thể tạo middleware tùy chỉnh theo nhu cầu của ứng dụng của mình.
Posted on June 16, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.