javascript 未调用Express js中间件

daupos2t  于 2022-12-10  发布在  Java
关注(0)|答案(3)|浏览(140)

中间件功能或我使用它的方式是否有问题

const express = require('express')
const app = express()
const test = require('./middleware/test')

app.use(express.json())
app.use(test)

app.get('/home', (req,res) => {
console.log('home')
res.send("home")
})

中间件函数位于中间件文件夹中

const test = ( err, req, res, next) => {
console.log("error mddleware is working")
next()
}
yrwegjxp

yrwegjxp1#

在中间件函数下添加module.exports = errorHandler

sauutmhj

sauutmhj2#

由于参数“err”,中间件函数未运行。如果有err参数,则中间件将不会运行,直到抛出错误并通过next()

wbgh16ku

wbgh16ku3#

确保正确使用了错误。始终将处理程序放在最后,端口侦听器之前:

const express = require("express")
const app = express()
const errorHandler = require("./middleware/errorHandler")

app.use(express.json())

app.get("/home", (req, res) => {
  console.log("home")
  throw new Error("error")
  res.send("home")
})

app.use(errorHandler)
app.listen(3000, () => console.log("server running on port 3000"))

相关问题