2012-12-10 1 views
1

내 Node.js 상황은 다음과 같습니다.모듈이 다른 모듈에 종속되어있는 경우 node.js를 사용하여 클라이언트와 서버간에 모듈을 공유하는 방법은 무엇입니까?

Node.js 서버와 게임용 브라우저간에 코드를 공유하려고합니다. 기본적으로 게임 논리를 공유하고 싶습니다.

내 게임에 테이블이 있고 그 테이블에 플레이어가있을 수 있습니다. 나는 이들 각각을 클라이언트와 서버가 모두 사용할 수있는 모듈로 만들고자한다.

(function(exports){ 

    exports.test = function(){ 
     return 'hello world' 
    }; 

})(typeof exports === 'undefined'? this['Table']={}: exports); 

그리고 나는 나의 표 작업 같은 것을 얻을 수 있습니다 :

은 내가 이런 식으로 뭔가를 할 수있어. 그러나이 테이블 모듈에서 Players를 사용해야하는 경우에는 어떻게해야합니까? 뭔가 같은 :

(function(exports){ 

    exports.test = function(){ 
     var Player = require('./Player'); 
     var p1 = new Player(); 
    }; 

})(typeof exports === 'undefined'? this['Table']={}: exports); 

이것은 노드에서 작동하지만 분명히 require는 정의되지 않았으므로 브라우저에서는 나타나지 않습니다. 필요없는 브라우저에서는 작동하지만 Node에서는 작동하지 않습니다.

TL : DR : 한 모듈의 코드를 다른 모듈에 "포함"해야합니다.이 모듈은 브라우저 (클라이언트)와 서버에서 공유 할 수 있습니다.

감사합니다.

+0

'25; TL 섹션의 경우 25. – jAndy

+0

https://github.com/component/component –

답변

-1

노드와 브라우저 모두에서 모듈을로드하려면 require.js를 사용할 수 있습니다.

See documentation on the require.js page

+0

이것은 실행중인 환경에 따라 다른 하위 모듈에 의존해야하는 공통 모듈을 요구하는 문제를 해결하는 방법을 설명하지 않습니다. – broofa

관련 문제