Вопрос по express – Могу ли я использовать представление ошибок express.js?

1

Когда экспресс не может найти представление, он выдает ошибки и (в режиме отладки) отображает хорошо выглядящую страницу. Есть ли удобный способ повторно использовать это представление для моих собственных сообщений об ошибках?

Ваш Ответ

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

Вот где в моих взглядах есть проверка типов.

app.error, по-моему, устарела. UpTheCreek
Да, это. Теперь вам нужно использовать функцию промежуточного программного обеспечения с 4 параметрами. function (err, req, res, next) {// делать вещи с ошибкой} Pickels

Похожие вопросы