Node.js中间件学习笔记

203 阅读1分钟
1.路由之前定义中间件(错误中间件定义在所有路由之后)
2.客户端发过来的请求,可以连续调用多个中间件进行处理
3.执行完中间件业务代码之后调用next()函数
4.防止代码逻辑混乱,调用next()函数后禁止再写代码
5.连续调用多个中间件时,共享req,res对象

中间件分类:
    1.应用级中间件:绑定到app
    2.路由级中间件:绑定到express.Router()
    3.错误级中间件:app.use(function(err,req,res,next){throw new Error('错误')})
    4.Express内置中间件:
        4.1 express.static
        4.2 express.json解析json格式请求体数据
            app.use(express.json())
        4.3 express.urlencoded解析URL-encoded格式请求体数据
            app.use(express.urlencoded({extended: false})) 
    5.第三方中间件:body-parser
const express = require('express')
const app = express()
app.use(express.json())
app.use(express.urlencoded({extended: false}))
//定义一个中间件
const mw = (req,res,next)=>{
    console.log('Hello Word')
    //把流转关系,转交给下一个中间件或路由
    next()
}
//将mw注册为全局中间件
app.use(mw)
//aap.get('/',[局部中间件],()=>{})
app.post('/',(req,res)=>{
    res.send('中间件')
})

app.post('/index',(req,res)=>{
    console.log(req.body)
    res.send('OK')
})
 
app.listen(3000,()=>{
    console.log('http://127.0.0.1:3000')
})