当 express 找不到视图时,它会出错并且(在调试模式下)呈现一个漂亮的页面。有没有一种方便的方法可以将该视图重新用于我自己的错误消息?
问问题
1898 次
1 回答
1
我不知道如何重用视图,但您可以使用 error.stack 来呈现堆栈跟踪。
我有这样的事情:
app.all( '*', function(req, res){
var code = 404;
res.local('error', { type: 'http', code: code });
res.local('code', code );
res.render('errors/index', { status: code } );
});
app.error(function(err, req, res, next){
var code;
if( err.type === 'http' ){
code = err.error;
}
else {
code = 500;
};
if(err){
res.local('stack', err.stack || JSON.stringify(err, null, 2) );
};
res.local('code', code );
res.render('errors/index', { status: code } );
});
如果我需要像 404 一样手动设置,我会在我的视图中执行以下操作:
next( {type:'http', error: 404} );
这就是我的观点中进行类型检查的地方。
于 2012-05-11T17:38:06.637 回答