express的使用:路由、中间件(二)
13.路由
1.express中的路由指客户端的请求与服务器处理函数间的映射关系
2.express中的路由由请求的类型,请求的URL地址,处理函数组成
3.app.METHOD(PATH,HANDLER)
4. 路由匹配顺序 a.按照定义的先后顺序进行匹配 b.请求类型和请求地址同时匹配成功才会调用相应的处理函数
14.模块化路由
1.创建路由模块对应的.js文件,
2.调用express.Router()函数创建路由对象
3.向路由对象上挂载具体的路由
4.使用module.exports向外共享路由对象
5.使用app.use()函数注册路由模块
15.app.use()函数的作用是全局注册中间件
16.路由模块添加前缀 app.use('/api',router)
17.中间件
a.对请求的预处理,本质是function处理函数。中间件函数的形参列表中,必须包含next参数,而路由函数中只包含res,req
b.next()函数是实现多个中间件连续调用的关键,他表示把流转关系转交给下一个中间件或者路由
c.全局中间件 app.use(rt) 、局部生效中间件(不适用app.use()定义的中间件)
d.中间件作用,共享一份req和res,基于这样的特性,我们可以在上游的中间件中,统一为req或res填加自定义的属性或者方法,供下游的中间件或路由进行使用
18.中间件使用注意事项
a.中间件要在路由之前定义
b.一个中间件可以有多个处理函数
c.执行中间件以后调用next()
d.为了防止代码混乱,next()函数后不写额外的代码
e.连续调用多个中间件时,多个中间件之间,共享req和res对象
19.中间件的分类
a.应用级别中间件(绑定到app.use())
b.路由级别中间件(绑定到express.Router())
c.错误级别中间件(必须有四个参数,(err,req,res,next),捕获错误,防止应用崩溃),需要注册在所有路由之后
e.express内置中间件(express.static、express.json、express.urlencodeed)
f.第三方中间件
20.自定义中间件,步骤:
a.定义中间件
b.监听req的data事件
c.监听req的end事件
d.使用querystring模块解析请求数据
e.将解析出来的数据对象挂载为req.body
f.将自定义的中间件封装为模块
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
2021-12-22 XML