モジュールの読み込みがであるとわかっていますが、はnode.jsで動作すると思われますが、正しく動作しているとは思いません(実際に見ると、要求を呼び出すと同じオブジェクトが返されない
nodejs 8.2.1を使用してthis answerのコメント)、I以下の構造を持っている:私require('winston')
server.jsで
app
|
+ server.js
+ log
| |
| + index.js
+ db
|
+ index.js
、私はrequire('./log')
を呼び出し、/log/index.jsにし、設定そうですね:
let logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({
name: 'console',
level: logLevel,
handleExceptions: true,
json: false,
colorize: process.env.NODE_ENV === 'dev',
timestamp: true
})
]
});
this answerによれば、私は他のモジュールからちょうどrequire('winston')
にできるはずです。同じ構成のインスタンスが得られます。私が実際に見ているのは、require('winston')
がdb/index.js
である場合、デフォルトのwinston
インスタンスは設定されていない状態です。私はrequire.cache
も踏んだ。他のモジュールはキャッシュに追加されないので、キャッシュが正常に動作している場合は、同じ設定済みのインスタンスをに返す必要があります。 db/index.js
のモジュールも読み込まれる前にlog/index.js
のコードが呼び出されていることを確認しました。
アイデア?私はrequire
私の./log
モジュールを私のすべての依存モジュールに入れるべきですか?
設定したロガーは必要ありませんか? – Icepickle