Require.js/AMD Modular Loading
개발자는 스크립트 로더를 사용하여 혼란스럽고 풍부한 스크립트 애플리케이션을 보다 질서있게 만들고 싶어하며 Require.js가 그러한 옵션입니다. Require.js는 AMD 기술과 자동으로 작동하여 가장 복잡한 스크립트 종속성 그래프도 매끄럽게 만드는 강력한 툴킷입니다.
이제 동일한 이름의 Require.js 함수를 사용한 간단한 스크립트 로딩 예제를 살펴보겠습니다.
require(['moment'], function(moment) { console.log(moment().format('dddd')); // 星期几 });
require 함수는 모듈 이름 배열을 받아들이고 이러한 모든 스크립트 모듈을 병렬로 로드합니다. yepnope와 달리 Require.js는 대상 스크립트가 순서대로 실행된다는 것을 보장하지 않고 실행 순서가 해당 종속성 요구 사항을 충족할 수 있도록 보장하지만 전제는 이러한 스크립트의 정의가 AMD(Asynchronous Module Definition, Asynchronous Module Definition, 비동기 모듈 정의) 사양.
Case 1: JavaScript 파일 로드
<script src="./js/require.js"></script> <script> require(["./js/a.js", "./js/b.js"], function() { myFunctionA(); myFunctionB(); }); </script>
Case 2: 페이지 로딩 후 JavaScript 실행
<script src="./js/require.js"></script> <script> require(["domReady!", "./js/a.js", "./js/b.js"], function() { myFunctionA(); myFunctionB(); }); </script>