1.什么是路由?
路由就是映射关系。对于我们网络请求中的路由是:每一次请求对应每一个请求处理的函数。一个网站往往不止一 个页面,我们通过配置路由让不同的路径对应不同的页面
路由的作用
访问不同的路由可以得到对应路由的服务
现实中的路由
2. Express中的路由
Express 中的路由分 3 部分组成,分别是请求的类型、请求的 URL 地址、处理函数
语法:
app.方法( path,callback )
描述:在 Express 中,路由指的是客户端的请求与服务器处理函数之间的映射关系。
参数说明:
方法:代表请求方式,比如 get,post ,put,delete
path:代表请求路径 ,必须以 / 开头,同时可以定义动态路径
callback:代表回调函数,用户请求匹配到路由以后要做的事情(方法和路径都一样)
路由匹配流程:
每当一个请求到达服务器之后,需要先经过路由的匹配,只有匹配成功之后, 才会调用对应的处理函数
在匹配时,会按照路由的顺序进行匹配,如果请求类型和请求的 URL 同时匹配成功,则 Express 会将这次请求,转交给对应的 function 函数进行处理
如果从上到下有相同的路由,则会匹配第 1 个 (如果想要继续匹配后面的,需要使用next参数)
3. express.Router 模块化路由
为了方便对路由进行模块化的管理,Express 推荐将路由抽离为单独的模块
模块化:不能把所有的路由信息放在一个js文件中,需要分门别类的抽离出来
3.1 模块化路由步骤:
3.1.1 创建模块文件夹为routes
3.1.2 在routes里面创建路由模块对应的 .js 文件
3.1.3 调用 express.Router() 函数创建路由对象
const express=require("express")
let router= express.Router()
3.1.4 向路由对象上挂载具体的路由
router.get(url,callback)
router.post(url,callback)
3.1.5 使用 module.exports 向外共享路由对象
module.exports=router
3.1.6 在app.js 使用 app.use() 函数注册路由模块
// 在本js中使用 路由模块
let rA = require('对应路由js路径')
app.use( rA ) //使用定义的路由信息
本文含有隐藏内容,请 开通VIP 后查看