关于 express.errorHandler()
errorHandler在Express 4中被弃用,现在应该使用一个名为errorHandler的单独包。另外,send.end()不能只用于发送状态代码,您必须使用sendStatus()或status(…).end()。原文出处
使用方法:
注意:有些地方errorHandler直接就加()调用了
//express@3.x 写法
var errorHandler = express.errorHandler();
app.use(function(err, req, res, next) {
if(app.get('env') === 'development') {
return errorHandler(err, req, res, next);
} else {
res.send(401);
}
});
/* *************** */
//express@4.x 已经弃用 errorHandler, 要另外引入包 errorhandler
var errorhandler = require('errorhandler')();
app.use(function(err, req, res, next) {
if(app.get('env') === 'development') {
return errorhandler(err, req, res, next);
} else {
res.sendStatus(401);
}
});
/* *************** */
app.use(errorhandler)
//相当于
app.use(function(err, req, res, next) {
errorhandler(err, req, res, next)
})