'JavaScript모듈화'에 해당되는 글 1건

  1. 2014.08.29 requirejs 란 - 모듈정의, 모듈 로더





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



Posted by jabsiri