Trung BìnhNode.js iconNode.js

Router trong Express là gì? Cách tổ chức routes?

express.Router() tạo mini-app với routes và middleware riêng biệt — giải pháp chính để tổ chức code theo feature.

  • Mounting pattern: app.use('/api/v1/users', userRouter) prefix tất cả routes trong router.
  • Route-level middleware: router.use(authMiddleware) chỉ áp dụng cho routes trong router đó.
  • Nested routers: adminRouter.use('/users', adminUserRouter) để nest sâu hơn.
  • Versioned API pattern: app.use('/api/v1', v1Router); app.use('/api/v2', v2Router) — v1 và v2 hoàn toàn độc lập, dễ deprecate.
  • Cấu trúc thực tế: routes/users.ts export router, routes/index.ts aggregate tất cả routers, app.ts chỉ app.use('/api', mainRouter).

Pitfall: router.use(middleware) sau router.get(...) thì route đó không được áp dụng middleware — phải đặt middleware TRƯỚC routes.

Xem toàn bộ Node.js cùng filter theo level & chủ đề con.

Mở danh sách Node.js