2017-03-17 9 views
0

나는 건물에있는 웹 페이지에 3 개의 다른 스크립트를 가지고 있으며 모두 잘 작동합니다.동일한 IIFE, 다른 js 파일

그러나 IIFE의 장점에 대해 알게 된 후 모든 스크립트를 하나의 단일 IIFE로 랩핑하려하지만 작동하지 않습니다. 콘솔에 'Uncaught SyntaxError : 예기치 않은 입력의 끝'refeering script-1.js 오류가 나타납니다.

그래서, 내가 좋아하는 뭔가가 있습니다

<script type='text/javascript' src='...script-1.js'></script> 
<script type='text/javascript' src='..script-2.js'></script> 
<script type='text/javascript' src='script-3.js'></script> 

을 그리고 내가 무엇을하고 있는가하는 것입니다 : 스크립트 1.js에 나는이

(function() { 

//....rest of javaScript code script-1 

같은 코드를 시작 스크립트 3

//....rest of the code script-3 

})(); 

1) 이제, 첫 번째 질문은 다음과 같습니다 :이게 가능은 .js이 같은 코드를 종료? 동일한 IIFE에서 다른 js 파일을 래핑하려면? 이론적으로는 그럴 것 같지만 확실하지 않습니다.

2) 가능한 경우 잘못된 것을하고 있습니까?

난 당신의 대부분이 매우 기본적인 것 알고하지만 난 어떤 피드백 : 각 개별 스크립트 자체에 구문 완료해야합니다

+2

아니요, 모든 파일을 직접 포장해야합니다. – Xufox

+0

@Xufox 대단히 감사합니다 !! – viery365

답변

8

을 주셔서 감사합니다, 당신은 스크립트에 걸쳐 하나의 인생을 가질 수 없습니다.

대신 RequireJS, Webpack, Browserifty 등의 스크립트 번들/모듈 시스템을 살펴보십시오.이 스크립트는 개별 스크립트 간 상호 의존성을 표현하면서 전역을 피하는 데 도움을주고 배포 용 단일 스크립트로 묶는 데 도움이됩니다 (if 원하는).

+0

동의하겠습니다. 몇 분 정도 기다려야합니다. 고맙습니다:) – viery365