2012-01-01 6 views
2

노드 모듈에서 많은 클래스로 작업 할 때 다음과 같은 메커니즘이 좋은 아이디어입니까, 아니면 더 좋은 방법입니까?노드 모듈 내에서 클래스를 구조화하는 방법은 무엇입니까?

// mymodule/core.js 

module.exports = { 
    ClassA: require('./class/ClassA'), 
    ClassB: require('./class/ClassB'), 
    ClassC: require('./class/ClassC') 
} 

// mymodule/class/ClassA.js 

module.exports = function() { 
    ... 
} 

// myapp.js 

var core = require('mymodule/core') 
    ; 

var a = new core.ClassA(); 

위의 아이디어는 쉽게 사용할 수있는 공간을 제공하는 동안 유지 보수를 위해 물리적으로 분리 된 모듈의 클래스를 유지하는 것입니다.

답변

0

내게는 사용하고있는 모듈을 사용하는 모듈에서 사용하는 것이 훨씬 명확합니다. 모듈에 이러한 종속성이 있다는 사실을 알 수 없으며 다른 사람이 사용중인 코드를 읽는 것이 더 쉬울 것입니다.

또한 하나의 모듈을 재사용하고 싶다면 core.js 모듈과 모듈이 결합 된 모든 종속성도 함께 가져야합니다.

+0

따라서 npm 사용 가능 모듈로 작업 할 때 다음 사항이 수용 가능하다고 생각합니까? 'ClassA = require ('mymodule/core/ClassA')'(응용 프로그램 스크립트 내에서'ClassA '가 필요할 때) 건배 –

+0

내 선호도가 맞을 것이다. 그렇게하면 다른 애플리케이션에서'ClassA' 만 필요로하는 모듈을 사용하고자한다면'classA.js' 의존성이 필요하고'core.js'가 필요로하는 것은 아닙니다. –

관련 문제