首页 > 其他 > 详细

express中间件分三类

时间:2021-06-27 17:06:47      阅读:20      评论:0      收藏:0      [点我收藏+]

中间件一般都是通过i修改req 或res对象来为后续的处理提供遍历的使用

 

中间件分类 next 放行函数

  • use(function(req,res,next){})
  • use(‘请求路径‘,function(req,res,next){})
  • get(‘请求路径‘,function(req,res,next){})
  • post(‘请求路径‘,function(req,res,next){})

 

错误日记处理方式

const express=require(‘express‘)
const fs = require(‘fs‘)
const app=express();


app.get(‘/‘, (req, res) => {
    //通过JSON.parse解析查询字符串中的某个
    try {
        const data = JSON.parse(‘{abc‘);
        res.json(data);
    } catch (e) {
        const error_log = `
        错误名:${e.name}
        错误消息:${e.message}
        错误堆栈:${e.stack}
        错误时间:${new Date()}
        `
        fs.appendFile(‘./err_log.txt‘, error_log, (err) => {
            res.writeHead(500, {})
            res.end(‘500 服务器正忙,请稍后重试‘)
        })
    }
})


app.get(‘/a‘, (req, res, next) => {
    fs.readFile(‘./a.text‘, (err, data) => {
        if (err) {
            //这里调用的next会被app.use((err,req,res,next))这个中间件匹配到
            next(err)
        }
    })
})

//该中间件只有被带有参数的next才能调用到
app.use((err, req, res, next) => {
    const error_log = `
    错误名:${e.name}
    错误消息:${e.message}
    错误堆栈:${e.stack}
    错误时间:${new Date()}
    `
    fs.appendFile(‘./err_log.txt‘, error_log, (err) => {
        res.writeHead(500, {})
        res.end(‘500 服务器正忙,请稍后重试‘)
    })
})

//404处理中间件
app.use((req,res,next)=>{
    res.end(‘404‘)
})

app.listen(3000,()=>{
    console.log(‘server start and listen at 3000‘)
})

 

express中间件分三类

原文:https://www.cnblogs.com/lvlisn/p/14932842.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!