当express无法找到视图时,它会出错并且(在调试模式下)呈现一个漂亮的页面。有没有一种方便的方法可以将该视图重用于我自己的错误消息?
答案 0 :(得分: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} );
这就是我的观点中有类型检查的地方。