Nodeでは、他の関数/クラスで使用したいロガーオブジェクトをインスタンス化する次の関数/クラスがあります。 main.js
で残りのアプリケーション用のmodule.exportsオブジェクトインスタンス
server.js
において
、
var loggerUtil = require('./utils/logger'),
logger;
module.exports = function(appInitCb, options) {
start: function() {
// Load .env
dotenv.config({
silent: true
});
// Merge the app configuration with default
options = _.merge({}, cfgDefaults, options);
// Create a logger
logger = loggerUtil.createLogger(options.logger).getLogger();
},
logger: logger
};
、
var server = require('./server');
var logger = require(./server').logger;
server.start({}, {});
logger.info('Hello World');
しかし、エラーTypeError: logger.info is not a function
もたらします。私が輸出する方法に何か間違ったことを推測しています。どんな助けもありがとうございます。
引用符がありませんか? – adeneo
2つの './server'モジュールが意味をなさないことを要求するので、あなたが本当に達成したいことは何ですか。 – Nivesh
さらに、最初にstartを呼び出してロガーオブジェクトをインスタンス化する必要があります。単純にそれを要求し、それを何度もインスタンス化しない場合、ロガーがすでにインスタンス化されているかどうかをチェックする必要があります。 – Nivesh