シンプルでなければならないが、良い解決策を見つけることができない。ノードJS(Hapijs)では、サーバー変数にグローバルにアクセスする方法
たとえばノードモジュールで、何か問題が起きたときにログに記録します。ですから、私はHapi関数server.log(...)を使いたいと思っています。例:server.jsで
:ファイルtest.jsで
const server = new Hapi.Server({...});
server.connection({port:3000});
server.start((err) => {
if (err) { throw err }
}
、私はserver.jsで作成したサーバー変数を使用したいです。他のプラグインをロギングしてロードするので、どのモジュールでも使用できるはずです。
class Test {
logInfo(text) {
server.log(['info'], text); // this will not work.
}
}
module.exports = new Test();
私は、モジュールを呼び出すたびにサーバーを追加することができますが、それは過剰です。
作成されたモジュールの外部にあるサーバー変数への参照を取得するにはどうすればよいですか?
通常、hapiアプリケーションでは、ハンドラ内のリクエストに応じて他のモジュールを呼び出すことになります。通常、ログインする必要がある場合は、ハンドラ/プラグインにログインします。プラグインではない外部モジュールはおそらくあなたのサーバやhapiの存在を知ってはいけません。 –