持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第2天,点击查看活动详情
Express-学习之路 02,中间件
引言
本系列会以我的一个理解,来介绍并开始学习 Express。
中间会插入自己所联系到的 乱七八糟 的 知识点。
中间件
这个东西就 相当于 请求的预处理。
无论是什么样子的请求,在过来的时候(任何请求),我们都会先通过 app.use 来执行 中间件的函数 进行处理,相当于全局中间件,它的使用方式如下
app.use((req, res, next) => {})
但是这样的话,我们的请求处理可能会中断,因为他只是一个处理,并没有进行下一步操作。
所以我们一般会在当前函数结束的位置处,添加 next() 函数,即
app.use((req, res, next) => {
console.log('我是中间件1')
next()
})
当然,如果需要多个中间件的话,则还是通过 next() 这个函数来将多个中间件进行连续的一个使用。但是需要注意代码的一个顺序。
中间件顺序
一般来说中间件有多个。
-
全局中间件
-
应用程序中间件
-
不关心请求路径
app.use((req,res,next)=>{}) -
限定请求路径
app.use('/me', (req,res,next)=>{}) -
限定请求方法 和 路径
app.get('/me', (req,res,next)=>{})这里的请求方法可以是 get, post, delete, put 等等
-
-
路由中间件
-
错误处理中间件
它们的代码顺序,则需要关注,一般编写顺序为,全局--》应用程序--》路由--》错误处理。
其实在我们的上一节中,我们使用到了 app.get 方法
app.get('/', (req, res) => {
res.send('hello Express')
})
当然它的这个函数也是可以有3个参数的,即
app.get('/', (req, res, next) => {
res.send('hello Express')
next()
})
总结
学习了 Express 的中的 中间件 ,它是我们 web 服务器重要的知识点,注意 中间件函数 的 next() 方法的使用