Trong bài trước chúng ta đã tìm hiểu ExpressJS là gì rồi, trong bài này chúng ta tiếp tục tìm hiểu về Router trong Express nhé

Router trong Express

Router là một Object (khác Routing nhé), nó là một instance riêng của middleware và routes (Hai khái niệm này là gì thì chúng ta sẽ tìm hiểu sau nhé).

  • Router là một instance của middleware và route nên nó có các chức năng của cả hai. Chúng ta có thể gọi nó là một mini-application

  • Các Application dùng ExpressJS làm core đều có phần Router được tích hợp sẵn trong đó.

  • Router hoạt động như một middleware nên chúng ta có thể dùng nó như một arguments. Hoặc dùng nó như một arguments cho route khác.

Nghe có vẻ khó hiểu đúng không nào. Ví dụ nhé:

// invoked for any requests passed to this router
router.use(function(req, res, next) {
  // .. some logic here .. like any other middleware
  next();
});

// will handle any request that ends in /events
// depends on where the router is "use()'d"
router.get('/events', function(req, res, next) {
  // ..
});

Chúng ta cũng có thể sử dụng Router để chia route. Chẳng hạn:

app.use('/calendar', router);

TÌm hiểu các method all của router

router.all(). Method này phù hợp với việc định nghĩa mang tính chất toàn cục cho các prefix

Ví dụ: a. Ta có đoạn code sau.

router.all('*', requireAuthentication, loadUser);

Nếu bạn đặt đoạn code này lên trên so với tất cá các route khác. Thì ý nghĩa của nó là gì nào ? À, mình xin giải thích thế này nhé

Viết câu trả lời

Drop Images