来自 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/