3

まず第一に、私はこの質問に従おうとしました(ただし、Express 3.0に適応しました):

Nodejs:ミドルウェアから例外をキャッチする方法は?

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

親切な読者の皆さん、この問題を解決するにはどうすればよいですか? したい:

  • エラースタックトレースを表示
  • クラッシュする代わりにサーバーエラーページを表示
4

1 に答える 1

1

驚いたことに、問題はミドルウェアが少ないことにありました。私はそれがより成熟した解決策になることを期待していました。私はそれを修正し、Githubでプルリクエストを行いました。これが同じ問題に遭遇する人に役立つことを願っています。乾杯。

于 2012-10-14T18:07:56.763 に答える