ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Node.js 구동방식 (3)
    Node.js 2016. 6. 1. 00:59




    언제나 이론은 지겹지만 마지막으로 Node.js 에서 따르는 Common.JS 모듈을 알아본다.

    간단하게 말해서 브라우저는 웹페이지에 스크립트를 올릴 때 얘네들을 다른 모든 스크립트와 공유하는

    주소 공간으로 주입해 버린다.

    이는 어떤 스크립트에 변수를 하나 대입하면 기존 스크립트에서 이미 정의한 또 다른 변수를 의도치 않게 

    덮어써버릴 수도 있다는 사실을 의미한다. 


    Node.js 진영은 이 해결법을 Common.js 모듈 표준에서 해법을 찾는다. 

    다 집어치우고 코드를 보면 단번에 이해하기 쉬울 것 이다.

    다음 OMG.js 파일과 StartApp.js 파일이 있다고 가정하자.


    OMG.js 

    var msg = "OMG!!";
    exports.saymsg = function() {
       console.log(msg);
    }
    


    StartApp.js

    var omg = require('./OMG');
    
    omg.saymsg();
    
    


    코드만 봐도 이해가 될 것이다. 

    OMG.js 에서는 saymsg 라는 함수를 exports 했고 StartApp.js 에서는 require 로 OMG.js 를 불러와서 

    사용하였다.


    exports 는 코드 조각을 내보내고 그 코드조각을 사용하기 위해서는 require 로 불러와서 적용시킨다.

    Node.js 에서는 이런 방식으로 코드를 작성하여 스크립트 간의 충돌을 막았고 더불어 조금 더 유연하고 

    객체지향적인 코드를 작성할 수 있다. 


    exports 는 내보내고 require 는 적용시키고  . 참 쉽죠  ?


    참고로 module.exports 로 단일함수 공개 방식으로 사용할 수 도 있다. 

    이때는 코드가 약간 아주 약간 바뀐다. 



    OMG.js

    module.exports = function() {
       var msg = "OMG!!";
       console.log(msg);
    }
    


    StartApp.js

    var omg = require(./OMG);
    omg();
    


    참 쉽죠? 

    exports 를 쓰나 module.exports 쓰나 return 하는 건 module.exports 로 똑같다. 

    자신이 설계한 코드에 맞춰서 적절히 사용하자. 

    (참고로 require 시킬때는 해당 js 파일의 주소를 적는데 뒤에 .js 를 생략해도 알아서 해당파일의 이름과 

     같은 폴더 또는 js파일을 찾아간다.)


    현재 상태로는 Common.js 의 사용법과 기본 개념만 익혀도 충분히 활용이 가능하다.

    Common.js 에 더 알고 싶다면 Google신의 도움을 받아보자.

    (Google 신이시여...)



    원래 NOSQL 에 관한 글도 적고 싶었지만 이론만 적으니 너무 재미없기에 

    다음 글 부터는 최종 목표인 멋진 SNS + 기타 기능이 들어간 웹서비스를 

    Javasciprt만 사용해서 만들어 보자.

    참고로 Node.js 와 MongoDB 는 다른 제품으로 대체 해서 만들 예정이기도 하다. 흐흐...



    (끝)


    'Node.js' 카테고리의 다른 글

    Node.js 구동방식 (2)  (0) 2016.05.30
    Node.js 구동방식 (1)  (0) 2016.05.29

    댓글