路由的概述

发布于:2023-01-22 ⋅ 阅读:(6) ⋅ 点赞:(0) ⋅ 评论:(0)

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 ) //使用定义的路由信息