ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • requirejs 란 - 모듈정의, 모듈 로더
    HTML + JAVASCRIPT + CSS 2014. 8. 29. 14:45
    728x90





    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
Designed by Tistory.