`express.Router` 类

中英双语

另一个有助于组织路由的特性是一个新类 express.Router,您可以使用它来创建模块化的可安装路由处理程序。一个Router实例是一个完整的中间件和路由系统;因此,它通常被称为 "mini-app"。

以下示例将路由器创建为模块,在其中加载中间件,定义一些路由,并将其安装在主应用程序的路径上。

例如,在app目录下创建一个名为birds.js的路由器文件,内容如下:

var express = require('express')
var router = express.Router()

// middleware specific to this router
router.use((req, res, next) => {
  console.log('Time: ', Date.now())
  next()
})
// define the home page route
router.get('/', (req, res) => {
  res.send('Birds home page')
})
// define the about route
router.get('/about', (req, res) => {
  res.send('About birds')
})

module.exports = router

然后,在应用程序中加载路由器模块:

var birds = require('./birds')

// ...

app.use('/birds', birds)

该应用程序现在将能够处理对 /birds/birds/about 路径的请求,并将调用特定于该路由的 timeLog 中间件。