2017-01-15 20 views
0

ノードでは、Webソケットを介してスラックに接続するモジュールのインスタンスを作成しています。私はconst slackbot = new SlackBot()でこれを行います。いくつかのモジュールで同じslackbotを参照できるように、どうすれば設定できますか?そのモジュール内で呼び出すたびに、slackbotをモジュール関数に渡すのが最善の方法ですか?やってのNodeJS:複数のモジュールで同じ変数を参照する

const slackbot = new SlackBot(); 

someModule.doThing(data, slackbot) 
.then((response) => { 
    otherModule.doAnotherThing(response, slackbot); 
}) 
.then((response) => { 
    someModule.wrapUp(response, slackbot); 
}); 
+1

ある「だけの機能私は、そのモジュール内にそれを呼び出すようにしたいすべての時間をモジュールにslackbotに合格するための最良の方法です?」はい。それをグローバルにする方法はありますが、彼らは良いスタイルではありません。 – Ryan

答えて

0

一つの方法は、

/** slacbot.js */ 
const slackbot = new SlackBot(); 

someModule.doThing(data, slackbot) 
.then((response) => { 
    otherModule.doAnotherThing(response, slackbot); 
}) 
.then((response) => { 
    someModule.wrapUp(response, slackbot); 
}); 

// getter  
var getSlackBot = function(){ 
    if(slackBot) return slackBot 
    else { 
    slackbot = new SlackBot(); 
    return slackbot; 
    } 
} 

module.exports.getSlackBot = getSlackBot; 


/** consumer.js **/ 
var slackBot = require('slackBot').getSlackBot(); 
関連する問題