2012-08-23 16 views
6

Tôi đang viết mô-đun node.js xuất hai hàm và tôi muốn gọi hàm này từ hàm khác nhưng tôi thấy lỗi tham chiếu không xác định.Node.js: Gọi một hàm được xuất khẩu từ một mô-đun khác trong cùng một mô-đun

Có mô hình để thực hiện việc này không? Tôi chỉ cần thực hiện một chức năng riêng tư và bọc nó?

Dưới đây là một số mã ví dụ:

(function() { 
    "use strict"; 

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

Trả lời

8

Tôi thích theo cách này:

(function() { 
    "use strict"; 

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

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

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

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

tôi sử dụng một 'var _public = {}; 'và' var _privat = {}; 'và trả lại '_public', bổ sung thêm một số khả năng đọc. –

+2

Hoặc bạn chỉ có thể sử dụng 'this.funcA()' ... – d11wtq

+0

"Sử dụng nghiêm ngặt" làm gì ở đây, btw? – d11wtq

Các vấn đề liên quan