Appearance
Express.Router
创建一个新的 router 对象
Express
express.Router([options])
描述
创建一个新的 router 对象。
Express
const router = express.Router([options])
options参数指定路由
- caseSensitive – 启用区分大小写。
- mergeParams- 保留来自父路由的 req.params 值。如果父项和子项的参数名称冲突,则子项的值优先
- strict– 启用严格路由。
模块化路由
为了方便对路由进行模块化的管理,Express 不建议将路由直接挂载到 app 上,而是推荐将路由抽离为单独的模块。
模块化路由步骤
① 创建路由模块对应的 .js 文件
② 调用 express.Router() 函数创建路由对象
③ 向路由对象上挂载具体的路由
④ 使用 module.exports 向外共享路由对象
⑤ 使用 app.use() 函数注册路由模块
在创建的模块路由文件index.js 里面写入代码:
Express
const express = require('express'); // 导入 express
const router = express.Router(); // 挂在路由对象
router.get('/user', (req, res) => { // 挂载的路由 get
console.log('get user')
});
router.post('/user', (req, res) => { // 挂载的路由 post
console.log('post user')
});
module.exports = router; // 导出路由对象router
注册路由模块 并为路由模块添加前缀
Express
const Router = require('./routes/index');
// 注册路由模块
app.use(Router);
// 给注册路由模块添加统一访问的路由前缀 /api
app.use('/api', Router);