2011-02-18 5 views
2

나는 node.js로 놀아 왔고 자바 배경에서 왔기 때문에 자바 스크립트에서 모듈과 일반적인 객체 개념을 구별하는 데 어려움을 겪고있다. 모듈을 구현할 때, 나는 현재 그것을 이런 식으로 일을 오전 Node.js modules 대 객체

는 : 이제

// someModule.js 
var privateVariable; 
this.sampleFunction = function() { 
    // ... 
} 

을, 내가 다른 곳에서이 모듈을 사용하고있는 방법은 다음과 같습니다

var moduleName = require('./someModule'); 

var foo = moduleName.sampleFunction(); 

나도 몰라 이것이 node.js에서 모듈 식 개발을하는 올바른 방법 인 경우 - 실제로 객체를 사용하지 않는다는 것을 깨달았 기 때문에 new()를 사용하는 것과 같았습니다. 컬렉션 등을 갖고 싶을 때해야 할 필요가 있습니다. 올바른 방법은 무엇입니까? 내가 사람 객체 컬렉션을 원한다면 여기로 가라. 내 모듈과 정의는 어떻게 될까? 어떻게 생겼어?

+0

질문에 대한 일반적인 배경을 보려면 _JavaScript : The Good Parts_ Douglas Crockford가 도움이 될 것입니다. JavaScript가 "고전적"(작성자가 언급 한 것처럼) 언어와 어떻게 다른지에 대한 명확하고 간결한 설명을 제공합니다 (전체 책은 단지 176 페이지 - 드문 경우). –

답변

3
// someModule.js 
var privateVariable; 
this.Person = function(firstName, lastName) { 
    this.firstName = '...'; 
} 

: 그리고

var moduleName = require('./someModule'); 

var foo = new moduleName.Person('foo', 'bar'); 
1

모듈은에서 관련 항목의 무리를 보유하는 네임 스페이스 당신이 사람 컬렉션의 여러 종류를 포함하는 "사람-컬렉션"모듈을 가질 수 있도록. "라인업", "더미"및 "쓰레기 수거통"과 같은.

oo 또는 기능적인 스타일의 쓰기를 사용하는지 여부에 따라 실제 코드는 다르게 보일 것입니다.

관련 문제