Hapijs 入门不错 good-console error reporter must specify events to filter on

Hapijs getting started good good-console error reporter must specify events to filter on

我刚开始学习 Hapijs 以下入门教程 用这个例子:

var Hapi = require('hapi');
var Good = require('good');

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

server.route({
    method: 'GET',
    path: '/',
    handler: function (request, reply) {
        reply('Hello, world!');
    }
});

server.route({
    method: 'GET',
    path: '/{name}',
    handler: function (request, reply) {
        reply('Hello, ' + encodeURIComponent(request.params.name) + '!');
    }
});

server.register({
    register: Good,
    options: {
        reporters: [{
            reporter: require('good-console'),
            args:[{ log: '*', response: '*' }]
        }]
    }
}, function (err) {
    if (err) {
        throw err; // something bad happened loading the plugin
    }

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

当我运行

node server

我有

/home/user/hapi/node_modules/good/node_modules/hoek/lib/index.js:683
    throw new Error(msgs.join(' ') || 'Unknown error');
          ^
Error: reporter must specify events to filter on

你能帮帮我吗?

文档已过时。 good 6.0.0 中有一些breaking changes。 good-console 模块有一个新版本,但是它还没有在 npm 上发布。您可以通过在 package.json:

中指定 GitHub 存储库来使用 master 分支
"good-console": "hapijs/good-console"

您还需要将配置更改为:

options: {
    reporters: [{
        reporter: require('good-console'),
        events: {
            response: '*',
            log: '*'
        }
    }]
}

编辑: good-console 5.0.0 版已经发布。文档也已更新。