2015-04-08 14 views
5

filtre uygulamak olayları belirtmek gerekir başlarken:Hapijs bu örnekle öğretici başlarken aşağıdaki iyi iyi konsol hata muhabiri Sadece Hapijs öğrenmeye başlıyorum

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); 
    }); 
}); 

koşuyorum

node server 

yo

/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 

Can var yardım et lütfen?

cevap

10

Belgeler güncel değil. İyi 6.0.0'da bazı breaking changes vardı. Modül konsolunun yeni bir sürümü var, ancak henüz npm'de yayınlanmadı. Ayrıca yapılandırmayı değiştirmeniz gerekecektir

"good-console": "hapijs/good-console" 

: Sen package.json içinde GitHub depo belirterek olsa ana dal kullanabilirsiniz

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

DÜZENLEME: Versiyon 5.0.0 iyi konsol yayınlandı. Dokümantasyon da güncellendi.

+0

Hata: Her muhabir nesnesinin bir init yöntemi olmalıdır. bir init yöntemi nasıl yazılır? –

+2

@blackstar Iyi konsol 5.0.0 sürümünü kullanıyor musunuz? Sadece bu sürüm 6.0.0 ile uyumludur. –

İlgili konular