requireJS 모듈 정의와 호출
Javascript는 사용하기 편한만큼 편함에 너무 의존하다보면 돌이킬 수 없는 스파게티 코드나 중복 코드 발생이 많아질 수 있어, 모듈 프로그래밍이 필요합니다.
RequireJS는 이러한 경우의 한 대안이 될 수 있습니다. RequireJS를 사용하면 모듈 생성/호출 등 관리를 통해 좀 더 체계적인 프로그래밍을 가능하게 해 주며, 브라우저 지원 또한 IE 6 이상 지원합니다.
RequireJS에서 모듈 정의/호출에 사용되는 함수
- 모듈 정의 Module Define
- 모듈 호출 Module Require
모듈 정의 / 호출 방식은 다음과 같습니다.
main.js - 환경설정 및 모듈 호출/정의 코드
모듈 호출 및 정의는 각각의 모듈 파일별로 관리하여 호출/정의할 수 있으며 의존 모듈이 있는 경우 [dependencies] 인 콜렉션 타입에 문자열로 path 에 지정해 놓은 별칭(alias)을 설정하거나 baseUrl 을 기준으로한 모듈 경로를 지정하여 사용합니다.
그리고 모듈을 정의할 때 첫번째 인자값의 ID 는 생략가능하며 모듈 파일명 기준으로 한 경로를 문자열로 지정하여 줍니다.
config 환경설정을 별도 관리할 경우
config.js
main.js
실무 프로젝트 간단 예제
다음과 같은 프로젝트 디렉터리 구조를 갖고 RequireJS 를 활용한 코드를 알아보도록 하겠습니다.
index.html 파일
main.js 파일
위의 코드 중 마지막 require 호출은 config 설정의 path 에 등록하지 않고 isJquery.js 와 isJqueryVersion.js 모듈을 호출하고 있습니다.
isJquery.js 파일
isJquery 모듈은 제이쿼리에 의존합니다.
isJqueryVersion.js 파일 모듈 정의 코드