2012-08-23 26 views
6

2つの関数をエクスポートするnode.jsモジュールを作成していますが、別の関数から1つの関数を呼び出したいのですが、Node.js:同じモジュール内の他の関数から1つのエクスポートされた関数を呼び出す

これを行うパターンはありますか?私は私的な機能を作り、それを包みますか?

(function() { 
    "use strict"; 

    module.exports = function (params) { 
     return { 
      funcA: function() { 
       console.log('funcA'); 
      }, 
      funcB: function() { 
       funcA(); // ReferenceError: funcA is not defined 
      } 
     } 
    } 
}()); 

答えて

8

私はこの方法を好む:ここ

は、いくつかのサンプルコードです; `と`のvar _privat = {};

(function() { 
    "use strict"; 

    module.exports = function (params) { 
     var methods = {}; 

     methods.funcA = function() { 
      console.log('funcA'); 
     }; 

     methods.funcB = function() { 
      methods.funcA(); 
     }; 

     return methods; 
    }; 
}()); 
+1

私は 'VARの_PUBLICを= {}を使用し'と戻り'_public'と読みやすくなります。 –

+2

または単に 'this.funcA()'を使うことができます... – d11wtq

+0

"厳密な使用"は何ですか、btw? – d11wtq

関連する問題