2012-08-23 12 views
6

İki işlevi dışa aktaran bir node.js modülü yazıyorum ve bir işlevi diğerinden çağırmak istiyorum ancak tanımlanmamış bir başvuru hatası görüyorum.Node.js: Aynı modülde bir dışa aktarılan işlev çağırma

Bunu yapmak için bir desen var mı? Sadece özel bir işlev yapıyorum ve sarın mı? Bu şekilde gibi

(function() { 
    "use strict"; 

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

cevap

8

: Burada

bazı örnek kod bir 'var _PUBLIC'i = {} kullanımı

(function() { 
    "use strict"; 

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

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

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

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

; ve 'var _privat = {};' ve dönüş Bazı okunaklılık ekler "_public". –

+2

Ya da sadece this.funcA() 'yi kullanabilirsiniz ... – d11wtq

+0

Burada" kullanımı sıkı "ne yapar, btw? – d11wtq

İlgili konular