node中定义错误级别中间件

1.什么是错误级别中间件

错误级别中间件是在客户端请求时发生了问题,那么会导致web服务器崩溃掉,那么通过该中间件的处理就可以避免该问题

2.如何定义错误级别中间件

javascript 复制代码
// 这是定义普通中间件的方式
function (req, res, next) {
    console.log("这是中间件");
    next()
}

// 这是定义错误级别中间件的方式
function (err, req, res, next) {
    console.log("这是错误级别中间件",err);
}

3.注意事项

3.1错误级别中间件需要注册为全局中间件

3.2错误级别的中间件必须注册到所有路由之后

3.3错误级别的中间件不需要next()

4.实例

javascript 复制代码
// 1.导入express和router
const express = require('express')
const router = require('./21模块化路由')

// 2.创建web服务器
const server = express()


// 3.监听服务器的启动
server.listen(80, () => {
    console.log("web服务器启动了 http://127.0.0.1:80");
})


// 4.定义中间件:分为全局中间件和局部中间件
// 全局中间件:只要是客户端进行了请求就会进入中间件,使用server.use()进行挂载的中间件
// 局部中间件:不使用server.use()进行挂载的中间件
// next是一个函数,中间件必须调用才能进入下一个中间件或者路由
const mv1 = function (req, res, next) {
    console.log("这是第一个局部中间件");
    next()
}

const mv2 = function (req, res, next) {
    console.log("这是第二个局部中间件");
    next()
}

// 5.将中间件定义为局部中间件 注意:要先定义为局部中间件,后挂载路由,否则不会进入中间件
server.get('/kanno1', mv1, (req, res) => {
    throw new Error('服务器内部发生错误了')
})

server.get('/kanno2', mv2, (req, res) => {
    res.send({
        name: "佐仓 爱里",
        classroom: " class"
    })
})

// 6.挂载路由
server.use(router)

// 7.定义错误级别中间件并挂载为全局中间件 错误级别的中间件必须注册到所有路由之后
server.use(function (err, req, res, next) {
    console.log("这是错误级别中间件",err);
})
相关推荐
IT_陈寒几秒前
Python的多线程就是个假把式,我算是体验到了
前端·人工智能·后端
OpenTiny社区39 分钟前
【直播分享】GenUI SDK 技术公开课第二讲 | GenuiChat 核心配置深度解析
前端·github
计算机魔术师39 分钟前
kernel.org 每天 600 万次请求,98% 不是人点的
前端
今日无bug1 小时前
从0到1手撕流式输出:Vue3 + Vite 实现 LLM 流式响应全解析
前端·vue.js·vite
光影少年1 小时前
react navite跨端项目的痛点、踩过哪些坑、怎么解决
前端·react native·react.js
默_笙1 小时前
🧀 用户访问一个网站到底经历了什么?全栈部署的"城市观光"指南
前端·javascript
aixingpan1 小时前
aixingpan.cn API开发文档:api_docs_trichart_natal_composite_transit2接口指南
前端·php
是立不是利1 小时前
CSS 架构——在混乱中建立秩序
前端·html
FungLeo1 小时前
成为全栈·Node 后端篇·认证方案:JWT 还是 Session
node.js·jwt·session·认证方案
两只羊ovo1 小时前
让 Agent 接上“万能接口”:LangChain + MCP 实战,工具不再锁死在项目里
前端