2012-04-16 6 views
1

expressがビューを見つけられなかった場合、エラーが出力され、(デバッグモードの場合)見栄えの良いページがレンダリングされます。私自身のエラーメッセージのためにそのビューを再利用する便利な方法はありますか?express.jsエラービューを再利用できますか?

答えて

1

ビューを再利用する方法はわかりませんが、error.stackを使用してスタックトレースをレンダリングできます。

私はこのようなものがあります:私の中に型チェックがある場合だ

next({type:'http', error: 404}); 

:私は手動で私は私の意見では、以下のか404のように設定する必要がある場合

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 }); 

}); 

を再生回数

+0

app.errorは償却されました。 – UpTheCreek

+0

はい、そうです。 4つのパラメータを持つミドルウェア関数を使用する必要があります。関数(err、req、res、next){//エラーを伴うもの} – Pickels

関連する問題