2016-08-26 7 views
6

나는 html 문서와 함께 사용되지 않는 몇몇 javascript 파일을 작성 중이다. 예를 들어 js에 다른 .js 파일이있는 계산기를 쓰면 더하기, 빼기, 곱하기, 나눗셈 등이 있습니다.다른 js 파일에서 javascript 파일 사용

자급 자족 한 .js로 각 수학 연산을하고 싶습니다. 파일에 다음 다른 .js 파일을 포함하면 다른 작은 파일을 # 포함하고 함수를 호출 할 수 있습니까?

그럴 수 있습니까?

수학 예는 내가 말하는 의미를 표현하는 간단한 방법 일뿐입니다. 실제 프로그램은 좀 더 복잡하고 코드를 분할하는 주된 목적은 내가 쉽게 추론하기가 쉽기 때문입니다. 코드의 작은 특수 조각.

내가 작업 할 문서 나 DOM이 없으며 내부에 알고리즘이있는 일반 .js 파일 만 있습니다.

+1

당신은'로 웹팩 사용할 수 있습니다 ('otherfile.js')이 필요합니다, 정말 JS처럼 보인다' – jcubic

+0

는 적합하지 않습니다 내 현재 프로젝트. 나는 자바 스크립트를 버리고 다른 프로그래밍 언어로 옮겨야했다. 그 원래의 질문 js가 조금 현대화했기 때문에 개입하는 시간 동안. 특히 js 비동기 코드 실행, 이름 충돌 등과 같은 모 놀리 식 파일을 원한다면 ... 함수를 마무리하고 와일드 카드로 만들 수는 있지만 ..... – user1610950

+0

예, 사용 요구 –

답변

2

사용하여 자바 스크립트 :

var script = document.createElement('script'); 
script.src = '/js/script'; 
document.head.appendChild(script); 

jQuery를 사용하여 :

//you need to change your path 
$.getScript('/js/script.js', function() 
{ 
    // script is imported 

}); 
+3

[나는 표절을 부른다!] https://stackoverflow.com/a/4634669/2288578) – Clonkex

1

이 여기 동기 버전 :이 작업 크로스 도메인을 얻을

function myRequire(url) { 
    var ajax = new XMLHttpRequest(); 
    ajax.open('GET', url, false); // <-- the 'false' makes it synchronous 
    ajax.onreadystatechange = function() { 
     var script = ajax.response || ajax.responseText; 
     if (ajax.readyState === 4) { 
      switch(ajax.status) { 
       case 200: 
        eval.apply(window, [script]); 
        console.log("script loaded: ", url); 
        break; 
       default: 
        console.log("ERROR: script not loaded: ", url); 
      } 
     } 
    }; 
    ajax.send(null); 
} 

주, 서버는 응답 허용 출처 헤더를 설정해야합니다.

관련 문제