Tìm Hiểu Về Middleware Trong ExpressJS

ExpressJS là khung làm việc xây dựng trên nền tảng NodeJS, cho phép lập trình viên có thể tạo ứng dụng web một cách nhanh chóng. Trong bài học này chúng ta sẽ tìm hiểu về khái niêm Middleware trong ExpressJS.
Trong lập trình phần mềm nói chung Middleware là một phần nhỏ của ứng dụng (một khối lệnh) nằm giữa và kết nối các phần khác của ứng dụng lại với nhau. Đối với các ứng dụng web, việc sử dụng Middleware một cách hiệu quả giúp chúng ta có thể tối giản được số lượng dòng code phải viết trong ứng dụng. Một ví dụ phổ biến mà chúng ta thường phải dùng Middleware đó là các trang chỉ dành riêng cho admin và không cho phép người dùng bình thường có thể truy cập.

Hãy xem một ví dụ sau sử dụng middleware, trong ExpressJS:

app.use('/user/:id', function(req, res, next) {
  console.log('User id:', req.params.id);
  next();
}, function (req, res, next) {
  console.log('Request Type:', req.method);
  next();
});

Ở đây, sử dụng middleware sẽ in ra id của người dùng có trong URL đang được truy cập. Ngoài các viết middleware dưới dạng một hàm và thêm vào trực tiếp trong route như ở trên thì bạn có thể tách ra một file khác hoặc một nơi khác trên cùng một file như sau:

function printUserId(req, res, next) {
  console.log('User id:', req.params.id);
  next();
}
app.use('/user/:id', printUserId, function (req, res, next) {
  console.log('Request Type:', req.method);
  next();
});

<div class="alert alert-warning">
Lưu ý: khi bạn tham chiếu tới middleware sử dụng theo cách trên, bạn chỉ viết tên hàm chứ không gọi trực tiếp hàm đó. Với ví dụ ở trên bạn sẽ sử dụng <code>printUserId</code> thay vì <code>printUserId()</code> trong route.
</div>

Content must not be empty

Related Blog