2015-01-10 3 views
0

CommonJS를 배우고 개인 변수를 초기화하는 코드를 어디에 넣으려고하는지 보여줍니다. C# 또는 Java에서는 생성자를 사용 하겠지만 CommonJs에서이를 달성하는 방법/위치를 파악할 수 없었습니다. 먼저 require('./CoolModule')는, 노드가 모듈의 코드를 실행하고 캐시 사용시CommonJs : 초기화 코드를 어디에 넣을까요?

var _myPrivateVariable; 

var CoolModule = { 
{ 
    foo: function(task) { 
    //do something that relies on _myPrivateVariable having been properly initialized 

    }, 
    bar: function(task) { 
    //do something that relies on _myPrivateVariable having been properly initialized 

    }, 

module.exports = CoolModule 
+0

당신이 어떤 클래스가없는, 그래서 왜 그냥 당신이 그것을 정의 같은 줄에 초기화? – loganfsmyth

답변

1

:

다음은 내 요구 사항을 설명하는 몇 가지 코드입니다.

CoolModule은 singleton과 같습니다.

JavaScript에는 Java와 같은 클래스가 없으므로 함수 생성자를 사용하여 초기화 할 수 있습니다.

var _myPrivateVariable; 

// function constructor 
function CoolModule(args) { 


} 

CoolModule.prototype.foo = function(task) { 

}; 
CoolModule.prototype.bar = function(task) { 

}; 

module.exports = CoolModule; 

그리고

var CoolModule = require('./CoolModule'); 
var cool = new CoolModule(args); 

cool.foo //... 
cool.bar //... 
관련 문제