什么是路由?
广义上来讲,路由就是映射关系。
程序中的路径也是映射关系:
Express 中的路由
在 Express 中,路由指的是客户端的请求与服务器处理函数之间的映射关系。
Express 中的路由分 3 部分组成,分别是请求的类型、请求的 URL 地址、处理函数,格式如下
// 路径 ,就是我们之前说的接口的处理程序
app.get('/api/getbooks', (req, res) => {
});
app.post('/api/addbook', (req, res) => {
});
每当一个请求到达服务器之后,需要先经过路由的匹配,只有匹配成功之后,才会调用对应的处理函数。
在匹配时,会按照路由的顺序进行匹配,如果请求类型和请求的 URL 同时匹配成功,则 Express 会将这次请求,转 交给对应的 function 函数进行处理。
- 创建路由模块对应的 .js 文件
1.1. 创建router/login.js 存放 登录、注册、验证码三个路由 - 在router/login.js中调用 express.Router() 函数创建路由对象
const express = require('express');
const router = express.Router();
- 向路由对象上挂载具体的路由
// 把app换成router,比如
router.get('/xxx', (req, res) => {});
router.post('/xxx', (req, res) => {});
- 使用 module.exports 向外共享路由对象
module.exports = router;
- 使用 app.use() 函数注册路由模块 – app.js
// 导入路由模块,并注册成中间件
var userRouter = require('./router/login')
app.use('/users', userRouter);
使用路由模块的好处
- 分模块管理路径,提高了代码的可读性
- 可维护性更强
- 减少路由的匹配次数
- 权限管理更方便