首先,我试着回答这个问题(但是我改成了express 3.0):
Nodejs: How to catch an exception from middleware?

app.use(function(err, req, res, next) {
    console.error('Middleware exception:' + err.stack);
    next(err);
});

然而,无论我把它放在我的中间件链中的何处,在app.use(lessMiddleware);之前或之后(从require('less-middleware')开始),我仍然得到:
GET /? 304 44ms
  source : <my path>/style.less
  dest : <my path>/style.css
  read : <my path>/style.less
DEBUG:

DEBUG: <my path>/node_modules/less-middleware/node_modules/less/lib/less/parser.js:385
                        throw new(LessError)(e, env);
                              ^

DEBUG: [object Object]

DEBUG: Program node app.js exited with code 1

善良的读者,如何解决这个问题?我想:
显示错误堆栈跟踪
显示服务器错误页而不是崩溃

最佳答案

令我惊讶的是,问题出在较少的中间件上。我有点期待这是一个更成熟的解决方案。我把它修好了。希望这能帮助任何遇到同样问题的人。干杯。

09-10 06:50
查看更多