2012-08-23 17 views
6

मैं एक node.js मॉड्यूल लिख रहा हूं जो दो कार्यों को निर्यात करता है और मैं एक फ़ंक्शन को दूसरे से कॉल करना चाहता हूं लेकिन मुझे एक अपरिभाषित संदर्भ त्रुटि दिखाई देती है।Node.js: एक ही मॉड्यूल में किसी अन्य से निर्यात किए गए फ़ंक्शन को कॉल करना

क्या ऐसा करने के लिए कोई पैटर्न है? क्या मैं सिर्फ एक निजी समारोह करता हूं और इसे लपेटता हूं? मैं इस तरह की तरह

(function() { 
    "use strict"; 

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

उत्तर

8

:

यहाँ कुछ उदाहरण कोड है

(function() { 
    "use strict"; 

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

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

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

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

मैं एक 'वर _public = {} का उपयोग करें;' और 'वर _privat = {};' और वापसी '_public', जो कुछ पठनीयता जोड़ता है। –

+2

या आप केवल 'this.funcA() 'का उपयोग कर सकते हैं ... – d11wtq

+0

" सख्त उपयोग "क्या करता है, बीटीडब्ल्यू? – d11wtq

संबंधित मुद्दे