express中间件

gitAddress   https://gitee.com/skyvilm/node-express-mongodb.git

概念:就是匹配路由完成之前或者匹配路由完成之后想要继续进行下面的操作;

express框架里面的中间件包含以下:

应用级中间件

路由级中间件

错误处理中间件

内置中间件

第三方中间件

语法:

app.use(app.use((req,res,next)=>{

      next();

});

1.应用级中间件(用于权限判断)

/*

    res:请求

    req:响应

    next:下一步

*/

//eg:在匹配路由之间打印当前时间

app.use((req,res,next)=>{

    let data=new Date();

    console.log(data)

    next();  //执行下面的操作,如果不写的话下面就不会执行

})

app.get("/",(req,res)=>{

    res.send("我操作了");

})

2.路由级中间件

//如果有两个相同的路由,其中一个没有传值,匹配到第一个之后如果不加next,他就不会在匹配第二个

app.get("/details",(req,res,next)=>{

    res.send("执行了");

    next();

})

app.get("/details:id",(req,res)=>{

    res.send("动态操作了");

})

3.错误处理中间件

/*

    应用场景:如果上面的路由都没有匹配到的话它就会匹配到这个

*/

app.use((req,res,next)=>{

    res.status(404).send("404页面");

})

4.内置中间件

app.use(express.static("static"))

5.第三方中间件

作用:获取post传过来的数据

安装: cnpm install body-parser --save

使用:

const bodyParser=require("body-parser");

设置中间件:   

app.use(bodyParser.urlencoded({extended:false}));  //解析form传过来的值

app.use(bodyParser.json());  //解析传过来的json数据

接收:

app.post("/login",(req,res)=>{

    //req.body 接收传过来的值

    res.send("执行了post请求");

})

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容