Pregunta

Estoy usando Node.js y el "menos" middleware compilador:

app.configure(function() {
    // ...
    app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] }))
    // ...
})

Ahora tengo un .less-archivo defectuoso, pero no puedo encontrar ninguna documentación sobre cómo conseguir el mensaje de error. La página de recibo es la siguiente:

<html>
  <head>
    <title>[object Object]</title>
    <style>
      /* css stuff */
    </style>
  </head>
  <body>
    <div id="wrapper">
      <h1>Connect</h1>

      <h2><em>500</em> [object Object]</h2>
      <ul id="stacktrace"></ul>
    </div>
  </body>
</html>

Así que no es útil. Alguien tiene una idea?

¿Fue útil?

Solución

Ah, ok, lo consiguió. El truco es dejar fuera el desarrollo errorHandler

app.configure('development', function() {
    // app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});

Parece que tragar las llamadas a app.error, por lo que ahora funciona esto:

app.error(function(err, req, res, next) {
    sys.puts("APP.ERROR:" + sys.inspect(err));
    next(err);
});

Esto muestra el error correcto en lugar de [object Object]

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top