# 路由
router
对象是中间件和路由的隔离实例。你可以把它想象成一个只能执行中间件和路由功能的 "mini-application,"。每个 Express 应用程序都有一个内置的应用程序路由。
路由的行为类似于中间件本身,因此您可以将其用作 app.use()
的参数或用作另一个路由的 use()
方法的参数。
顶级 express
对象具有创建新 router
对象的 Router()
方法。
一旦你创建了一个路由对象,你就可以像应用程序一样向它添加中间件和 HTTP 方法路由(例如 get
、put
、post
等)。例如:
// invoked for any requests passed to this router
router.use((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', (req, res, next) => {
// ..
})
然后,您可以将路由用于特定的根 URL,以这种方式将您的路由分成文件甚至迷你应用程序。
// only requests to /calendar/* will be sent to our "router"
app.use('/calendar', router)
方法 | 描述 |
---|---|
router.all | 此方法对于为特定路径前缀或任意匹配映射 "global" 逻辑非常有用。 |
router.METHOD | 在 Express 中提供路由功能。 |
router.param | 为路由参数添加回调触发器,其中 name 为参数名称,callback 为回调函数。 |
router.route | 返回单个路由的实例,然后您可以使用该实例处理带有可选中间件的 HTTP 动词。 |
router.use | 使用指定的中间件函数或函数,带有可选的挂载路径 path ,默认为 "/"。 |