2012-02-07 4 views
3

스크립트 태그를 사용하여 웹 브라우저에서 일반적으로 사용되는 javascript 파일이 있습니다. 창에 객체를 넣는 것처럼 보이는 자체 실행 기능입니다 (창은 전달됩니다).브라우저 기반 API가있는 node.js

서버의 node.js에서 가장 깨끗한 방법은 무엇입니까?

감사합니다,

가레스

+0

다음을 원하십니까? (a) Node의이 파일을 변경하지 않고 사용 하시겠습니까? (b) 노드에서 작동하는 별도의 버전을 만드시겠습니까? (c) 브라우저와 노드 모두에 친숙한 파일의 단일 버전을 만드시겠습니까? –

+0

지연과 관련하여 동일한 파일이어야합니다. – ridecar2

+0

좋아, 세 가지 선택 중 하나가 제거됩니다. 이 파일을 수정하기 위해 기꺼이/수정할 수 있습니까 (c), 그대로 원본 파일을 사용해야합니까 (a)? –

답변

2

는 않는 모든 window에 속성을 추가하고, 당신이, 당신이 세계라는 window 만들 수 있습니다 다시 밖으로 사람들을 얻고 싶다면 :

global.window = {}; 
require('theLibrary'); 
// now do something with global.window.theThingItAdded 

단에게 라이브러리가 브라우저 용으로 작성된 경우 DOM을 사용하기 때문에 라이브러리가 실행되지 않을 수도 있습니다. 이 경우 jsdom을 살펴볼 수 있습니다.이 노드는 노드 내부에 규격 호환 DOM을 제공합니다.

당신이 jsdom를 사용하는 경우

가 (난 당신이 위의 global.window 비트의 그것을 대신을 사용하는 것이라고 생각한다 - 내가 생각 jsdom 않는 당신을 위해,하지만보다 완벽한 기능을 갖춘 윈도우 객체와 그 I 피난처 '. 실제로는 jsdom을 사용 했으므로 확실하지 않습니다.)

관련 문제