我有一个基于node.js / express的服务器,我正在使用jade进行模板化。通常没有问题,但每天都会有几次在收到任何页面时收到错误消息。错误是“找不到视图”。我不知道为什么我会收到这个错误,因为它在几分钟之前工作正常。
然而,问题是如何强制此事件发生崩溃,例如:
res.render('index.jade', {info: 'msg'}, function(error, ok) {
if (error)
throw new Error('');
// Proceed with response
};
我该怎么做?我将如何处理回复?
谢谢。答案 0 :(得分:1)
您可以添加错误处理中间件。
app.use(function handleJadeErrors(err, req, res, next) {
// identify the errors you care about
if (err.message === 'failed to locate view') {
// do something sensible, such as logging and then crashing
// or returning something more useful to the client
} else {
// just pass it on to other error middleware
next(err);
}
});
答案 1 :(得分:0)
试试这个:
app.use(function (req, res, next) {
fs.exists(__dirname + '/views/' + req.url.substring(1) + '.jade', function (exists) {
if(!exists) {
console.log(err);
return next();
}
res.render(req.url.substring(1), { title: "No Controller", user: req.session.user });
}
});