所以我有一个明确的中间件功能:
const myMiddleware = () => {
return (req, res, next) => {
console.log(errorVar); //errorVar is not defined; should log ReferenceError
next();
}
}
然后使用:
router.post('/test', myMiddleware(), (req, res) => {
console.log(yetAnotherError); //yetAnotherError is not defined, and WILL log ReferenceError
res.send('worked');
})
我正在使用nodemon在本地运行服务器,并使用morgan记录HTTP错误。第一个未定义的变量将记录500错误,但没有其他错误。第二个将引发ReferenceError并使应用程序崩溃。因此正在使用Morgan:app.use(morgan('dev'));
。有什么想法吗?
PS,我不知道为什么我的自定义中间件必须返回一个函数,并且不能仅仅自己调用next()
。