express jade handle helper错误

express jade handle helper errors

有没有办法为 jade 模板错误提供自定义异常处理程序?

例如

// server.js
app = express();
app.set('view engine', jade);
app.locals.js = function () { throw new Error('hello'); }

// views/index.jade
html
  != js()

以上会抛出错误,jade 会在页面加载时打印错误。这只是消息的简单打印。

我想编写我的自定义调试处理程序,它至少将错误包装在一个标记中,以便我可以正确读取它,但似乎没有任何效果,因为异常是在 jade 中间件上处理的,没有传递表达(因此不被任何表达中间件处理程序拾取)

调用res.render渲染模板时,也可以追加回调:

res.render('index.jade', {}, function (err, page) {
    if (err)
        // render the error
    else
        res.end(page);
});