模块化路由
定义路由模块
- 为了方便对路由进行模块化的管理,
Express
不建议将路由直接挂载到app
上,而是推荐将路由抽离为单独的模块,将路由抽离为单独模块的步骤如下
-
创建路由模块对应的
.js
文件 -
调用
express.Router()
函数创建路由对象 -
向路由对象上挂载具体的路由
-
使用
module.exports
向外共享路由对象 -
使用
app.use()
函数注册路由模块
- 案例代码
// 1. 导入 express
const express = require('express')
// 2. 创建路由对象
const router = express.Router()
// 3. 挂载获取用户列表的路由
router.get('/user/list', (req, res) => {
res.send('用户列表')
})
// 4. 挂载添加用户列表的路由
router.post('/user/add', (req, res) => {
res.send('添加用户')
})
// 5. 向外导出路由对象
module.exports = router
注册路由模块
-
导入路由模块
-
使用
app.use()
注册路由模块 -
案例代码
const express = require('express') const app = express() // 导入路由模块 const userRouter = require('./002-router') // 使用 app.use() 注册路由模块 // 给路由模块添加统一得到访问前缀 /api app.use('/api', userRouter) app.listen(3000, () => { console.log('running……') })