2016-04-26 21 views
0

私はfoobarのnode.jsモジュールを持っています。以下のようなbarの内部foo呼び出すための私のための方法があります: node.jsモジュールのエクスポートでメソッド定義を使用

module.exports = { 
    foo: function(a, b, c) { 

    }, 

    bar: function(a, b, c) { 
     foo(); //returns 'foo is not defined' 
    } 
} 

をそのまま、 fooリターンは未定義が...誰かが助けることができますか?

ありがとうございます!

答えて

1

はい、あります。ちょうどthisを使用してください。

module.exports = { 
    foo: function(a, b, c) { 

    }, 

    bar: function(a, b, c) { 
     this.foo(); 
    } 
} 

私はオブジェクトでの作業にthis articleを読んでお勧めします。

1

@ victorkohlの回答が有効です。また、あなたもthisを呼び出す避けるために、クロージャを使用することができます。

function foo (a, b, c) { 
} 

function bar (a, b, c) { 
    foo(); 
} 

module.exports = { 
    foo: foo, 
    bar: bar 
}; 
1

そして、ちょうどそれの楽しみのために、これはあまりにも動作します:

foo(); //returns 'foo is not defined' 

module.exports.foo(); 

で(私はお勧め@victorkohlの自己完結型バージョン)

関連する問題