-
requirejs 란 - 모듈정의, 모듈 로더HTML + JAVASCRIPT + CSS 2014. 8. 29. 14:45728x90
requirejs 는 어디에 쓰는 물건인가.
requirejs 홈페이지에 가면 "RequireJS is a JavaScript file and module loader" 라고 제일 첫 줄에 나온다.
"자바스크립트 파일과 모듈 로더다."
아직 뭔지 와닫지 않는다..
모듈이란.
일반적으로 컴퓨터 분야에서의 모듈은 "독립되어 있는 하나의 소프트웨어 또는 하드웨어 단위를 지칭하는데 사용된다. "
라고 네이버 백과사전에 나와있다.
조금도 쉽게 말하면 JavaScript에서 jquery도 모듈이고, util성으로 만든 function들의 모음 js도 하나의 모듈로 볼수 있다.
requirejs는 이런 모듈을 로딩하는 역활을 하는것이다.
자 그럼 requirejs를 사용하기 위해서는 JavaScript 모듈화 작업이 필요하다.
모듈화.
JavaScript 모듈화 및 로더 작업을 할수 있는 방법으로 CommonJS 그룹과 AMD 그룹에서 명세를 정의해 놓고 있다.
CommonJS는 서버 사이드 JavaScript에서의 모듈정의와 모듈로드에 초점이 맞춰저 있고 ( 대표 적인예 node.js)
AMD(Asynchronous module definition) 는 브라우저 환경 ( 네트워크를 통해 모듈을 받아서 처리해야하는 ) 에서 모듈 정의와 모듈 로드에 초점이 맞춰저 있다. ( 대표적인 예 : require.js )
* 물론 둘다 서버사이드와 브라우저 환경에서 모듈화를 정의하고 사용할수 있지만 각자 특화된 부분이 있다는 것이다.
이 둘의 공통점은 모듈화에 있는데 이는 CommonJS에서 AMD가 파생된 그룹이기 때문이다.
RequireJS
그럼 제일 첫 부분에 적었던 "RequireJS is a JavaScript file and module loader" 부분이 약간은 이해가 될지 모르겠다.
RequireJS는 AMD모듈 정의서에 따라 개발된 대표적인 JavaScript 로더 중 하나로 AMD 모듈 로딩 표준을 따르기에 기본적으로 모든 모듈이 비동기적이다.
또한 javascript 모듈의 의존관계등의 관리도 쉽게 할수 있게도와준다.
참고자료
[1] NAVER helloworld - NHN 모바일Ajax팀 손병대
JavaScript 표준을 위한 움직임: CommonJS와 AMD
http://helloworld.naver.com/helloworld/12864
[2] Nonblock Blog - Hanghee Yi
RequireJS – JavaScript 파일 및 모듈 로더
http://blog.javarouka.me/2013/04/requirejs-javascript.html
728x90'HTML + JAVASCRIPT + CSS' 카테고리의 다른 글
[JAVASCRIPT] - 주소창의 parameter 제거 (0) 2017.03.09 Array.prototype.reduce VS for loop (0) 2015.09.22 [jsGantt]간트 차트 라이브러리 (0) 2014.09.03 [jQCloud] 간단하게 사용하는 TAG CLOUD (0) 2014.08.18 [TIP]IE 에서 Window.open 시 오류 발생 (0) 2014.05.13