zoukankan      html  css  js  c++  java
  • 配置Express中间件

    (1)回顾

    中间件本质为方法,将请求的处理过程分多个步骤实现,便于维护,且高效

      

      

       

       

    (2)Express官方文档

       查看Express官方文档对于中间件说明

      1、应用程序级别中间件

        

       2、路由级别中间件

        

      3、错误处理中间件(全局统一错误处理)

        

      4、内置中间件(Express框架内置的带有功能的中间件)

        

       5、第三方中间件

        

        官方推荐的第三方中间件资源

        

    node优势便在于DIY自定义(Do It Yourself)

    (3)错误处理中间件+404中间件

      1、在项目里添加404中间件

        

    注意位置:
        一定要放在挂载路由之后,如果之前所有的中间件都不匹配,则匹配该404中间件.如果404中间件放到挂载路由前,
      因为它属于万能中间件(应用程序级别)所以此时不管哪个请求都会匹配进来,再也无法往下走

        测试如下:当url错误时,跳到404页面

        

      2、在项目里添加全局错误处理中间件

        仔细分析router.js中的服务端错误处理代码,如下所示

        

         

         

         会发现所有的服务端错误处理基本一致,所以这里我们直接添加一个全局错误处理中间件。

        这里举个小案例:之前的错误处理重复性较高

        

         此时便可以通过错误中间件统一处理。但next()交出执行权限后,之后的中间件如果匹配,还会往里执行

        

        

    此时输出结果为/ 2,任然执行不到错误处理中间件。这时只需传入一个参数即可

        

         测试如下:

        

         项目修改如下:

        

         

    重点:记住加
    1、return防止代码向后执行
    2、中间件传入next参数

         直接将其他地方的服务器错误直接改为next(error),错误处理中间件。传入错误对象即可。

        

         或者也可以专门做一个错误处理页面

    .

  • 相关阅读:
    【Electron】Electron 调试
    正则表达式中test、exec、match的区别
    $.extend 与Object.assign的相同与不同
    【Vue】v-for中为什么要用key——diff算法中key作用源码
    【Vue】watch中的deep:true源码实现
    【Vue】vue中computed源码详解
    Network conditions——在不同网络条件下优化性能
    JS中的{}、()、自调用及()=>({})写法含义
    innerHTML和outerHTML区别以及document.querySelector
    SignalR
  • 原文地址:https://www.cnblogs.com/jianxian/p/12300823.html
Copyright © 2011-2022 走看看