2017-09-19 23 views
0

socket.ioパラメータを持つモジュールを作成したいので、モジュールクラスに変数をグローバルに設定します。パラメータを持つNodeJSモジュール

私の質問は、どのようにそれを行い、それでもそのモデルクラスの関数にアクセスするのですか?用語で

私は、これはあなたがメインのアプリクラスでsocket.ioのlibを定義する方法であり、あなたはあなたがserverパラメータを渡す必要があることがわかります、あなたが使用することができます 、あなたはsocket.io LIBで何ができるかのような何かをしたいと思いますオブジェクトのファンクション。

const io = require('socket.io')(server);

また、これは私が私のモデルに渡す正確なオブジェクトです。

答えて

0

モデルファイル:

var storedObject 

module.exports = (myObject) => { 
    if(myObject){ 
     // set object only if provided 
     // this way you will be able to init once and use everywhere this model 
     storedObject = myObject 
    } 

    return { 
     getA: getA 
    } 
} 

function getA(){ 
    return storedObject.a 
} 

使用例:私は自分自身をそのような何かをしようとしたとき

var obj = {a: 1, b: 2} // can also be a socket.io or any other object 
var model= require('./model.js')(obj) // call with object only on initialization 
console.log(model.getA()) 
+0

ああそう、私はどうもありがとうございました、 'return'がありませんでした! – MrSandman

関連する問題