2012-07-31 3 views
0

Node.js 용으로 작성되지 않은 JavaScript 파일이 있습니다. 그것은 실제로 나에 의해 쓰여지지만,이 질문은 타사 라이브러리로 생각하면 더 이해할 수 있습니다.Node.js에서 타사 JavaScript 파일 사용

일반적으로 Node.js 모듈은 module.exports 개체 만 외부 코드로 노출합니다. 따라서 Node.js를 염두에두고 파일을 작성해야합니다.

그러나이 파일은 Node.js 용으로 작성되지 않았지만 Node.js 모듈에 포함하려고합니다. 이 파일은 Node.js와 별도로 나중에 사용되므로 편집 할 수 없습니다.

파일을 읽고 내용을 eval (으)로 호출하면 문제가 해결 될 수 있다고 생각하지만 더 좋은 방법이 있습니까?

TL; DR 나는 그것이 exports 같은 Node.js를 특정 코드를 사용하여 재 작성하지 않고 Node.js를 모듈로의 .js 파일을 포함 할 수 있습니까

?

P. Node.js에서 사용하려는 이유는 다른 곳에 배치되기 전에 몇 가지 테스트를위한 것입니다.

답변

2

코드가 해당 파일에 기록되는 방법에 따라 다릅니다. 파일이 클래스 또는 하나의 개체를 포함하는 경우에 당신은이 작업을 수행 할 수 있습니다

(function(global) { 

    function MyClass() { 


    } 

    MyClass.prototype = { 
      ... 
    }; 

    if(typeof module !== "undefined" && module.exports) { 
     module.exports = MyClass; 
    } 
    else if (global) { 
     global.MyClass = MyClass; 
    } 

})(this); 

당신은 필요한 경우 대신 깊은 네임 스페이스로 글로벌 할당을 수정할 수 있습니다.

+0

Node.js 코드를 파일에서 제외하고 싶습니다. –

+0

이것은 github 프로젝트에서 node.js뿐 아니라 브라우저에서도 작동해야하는 파일에 대한 표준 방법입니다. – Esailija

+0

WScript 같은 다른 인터프리터에서 작동해야하는 파일은 어떻게됩니까? –

관련 문제