별도의 파일에 자바스크립트 라이브러리를 생성하고 이를 다른 파일에 "포함"하려면 어떻게 해야 합니까?

StackOverflow https://stackoverflow.com/questions/928237

문제

첫째, 주의사항.주요 스크립트는 웹페이지에서 실행되지 않음.Windows Script Host를 사용하여 Windows에서 .js 파일을 실행하겠습니다.

문제:각각의 함수가 여러 개인 객체가 포함된 자바스크립트 "라이브러리"를 만들고 싶습니다.나는 이 라이브러리가 시간이 지남에 따라 상당히 커질 것으로 예상하고 이를 별도의 자바스크립트 파일에 보관하고 싶습니다. Library.js).다음 개체에 액세스하고 싶습니다. Library.js 다른 스크립트에서(이것을 호출하자 User.js).

본질적으로 저는 C/C++ "포함" 패러다임과 유사한 것을 찾고 있습니다.

어쨌든 이것을 자바스크립트로 구현하는 방법이 있나요?(웹 기반이 아님을 기억하세요)

도움이 되었습니까?

해결책

이 페이지는 바로 여기 내가 찾을 수있는 가장 가까운 것입니다.여러 스크립트(다른 언어로 작성될 수 있음)를 하나의 파일에 결합할 수 있는 .wsf 파일에 대해 설명합니다.

귀하의 질문은 다음과 같아야 합니다.

사용자.wsf

<job id="IncludeExample">
   <script language="JScript" src="library.js"/>
   <script language="JScript">
      <![CDATA[
      // use your library functions here
      ]]>
   </script>
</job>

더 나은 방법이 있을 수 있지만 저는 WSH 전문가는 아닙니다.

다른 팁

나는 이것이 오래된 질문이라는 것을 알고 있으며 대답하고 받아 들여졌습니다.

.WSF 파일과 작동 방식에 대해 알고 있습니다. 그들은 목적을 제공합니다.

그러나 WSH에서 실행되는 순수한 .js 파일 내에서 "포함"을하는 것이 편리하다는 것을 알았습니다. 여기에 대한 내 해결책이 있습니다.

    function includeFile (filename) {
        var fso = new ActiveXObject ("Scripting.FileSystemObject");
        var fileStream = fso.openTextFile (filename);
        var fileData = fileStream.readAll();
        fileStream.Close();
        eval(fileData);
    }

해당 유틸리티 기능이 정의 된 경우 JavaScript 모듈 내 에서이 작업을 수행 할 수 있습니다.

includeFile("externalFile1.js");
includeFile("externalFile2.js");
includeFile("etc.js");

... 그런 다음 함수를 호출하거나 해당 모듈에 정의 된 변수를 간질이게 할 수 있습니다.

비슷한 기술은 .vbs 파일과 함께 작동합니다.
vbscript (c #include와 유사)에 공통 파일을 어떻게 포함합니까?

특정 .js 또는 .vbs 파일 대신 Windows 스크립팅 호스트를 사용하여 목표를 달성 할 수 있습니다. 자세한 정보는 다음에서 확인할 수 있습니다 MSDN 사이트.

링크에서 :

Windows 스크립트 (*.wsf) 파일은 확장 가능한 마크 업 언어 (XML) 코드가 포함 된 텍스트 문서입니다. 스크립팅 유연성을 높이는 몇 가지 기능을 통합합니다. Windows 스크립트 파일은 엔진 별이 아니므로 Windows 스크립트 호환 스크립팅 엔진의 스크립트를 포함 할 수 있습니다. 그들은 컨테이너 역할을합니다.

.js 및 .vbs 파일과 동일한 구문을 사용하여 파일을 제공합니다.

wscript.exe myscriptfile.wsf

업데이트 : 수정에 주목했습니다 ...

어쩌면이 PHPJ 구현이 도움이 될 수 있습니다.

http://phpjs.org/functions/include:433

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top