node.js - 如何输出从 Hapi.js View 生成的 View 编译器错误?

标签 node.js pug hapi.js

来自 express 的世界,如果在编译 Jade 模板时出现错误,错误将输出到浏览器,其中包含模板错误的详细信息,包括行号。当 View 模板编译器遇到错误时,我希望在 Hapi.js 中看到这种级别的错误详细信息。

相反,使用 Hapi.js,我收到了 500 Internal Server Error。我在日志中看到的唯一输出如下:

150511/005652.910, [response], http://localhost:3000: get /abc123 {} 500 (24ms)

这是我设置的基础。


var Hapi = require('hapi');
var server = new Hapi.Server();
server.connection({ port: 3000 });

server.views({
  engines: { jade: require('jade') },
  path: __dirname + '/views',
  compileOptions: {
    pretty: true,
    debug: true,
    compileDebug: true
  }
});

server.route({
  method: 'GET',
  path: '/{name}',
  handler: function (request, reply) {
    reply.view('page', {name: request.params.name});
  }
});

// I know putting my plugins in an array is not necessary but I like it.
var plugins = [{
  register: Good,
  options: {
    reporters: [{
      reporter: require('good-console'),
      events: {
        response: '*',
        log: '*'
      }
    }]
  }
}];

server.register(plugins, function (err) {
  if (err) {
    throw err; // something bad happened loading the plugin
  }

  server.start(function () {
    server.log('info', 'Server running at: ' + server.info.uri);
  });
});

最佳答案

这周也遇到了同样的问题。

var server = new Hapi.Server({
  debug: {
    request: ['error']
  }
});

它不会输出到客户端(你仍然会得到 500 错误),但编译错误会显示在终端控制台中。

关于node.js - 如何输出从 Hapi.js View 生成的 View 编译器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30158038/

相关文章:

mongodb - 用 hapijs stub mongoDB

javascript - hapi 在发送响应之前设置 header

javascript - 你如何逃避 Angular 中的空间?

javascript - 错误 : Cannot find module '[object Object]'

javascript - 如何避免使用 Express 在 Node.js 中重新发送刷新数据

node.js - 从 NodeJs 中的一组 url 图片创建动画 Gif

javascript - 使用 Hapijs 处理和发送大量数据

javascript - 无法安装 create-react-app

node.js - 在 knex.js 中创建迁移会引发错误

node.js - Mocha 测试运行两次