ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1. node.js를 이용한 모듈화
    IT&개발/node.js 2015. 8. 12. 07:54
    728x90
    반응형

    이번시간부터는 node에 대하여 공부하여 보겠다. 노드는 서버사이드에서 구동하는 자바스크립트이다. 그렇기에 기본적으로 


    자바스크립트와 유사하며 모든 형식이 non-blocking 이다. 즉, 비동기 형식이다. 


    첫번째로 공부할 것은 node의 모듈화를 하는 방법과 유의사항이다.


    모듈 파일인 <testModule.js>를 생성하여 본다. 그리고 모듈들의 기능이나 변수를 export.test1,export.test2,export.myinfo()


    로 객체의 변수로 정의한다.


    그리고 <test.js>라는 파일을 만들어서 필요한 객체 require을 한뒤 객체의 변수들을 각각 console창에 찍어본다.


    <tip> 모듈화를 하였을 때 모듀들을 실제 사용하려면 본파일에 객체를 불러와야 한다. 

    이때 사용하는 형식이 require()을 사용하는 것이다.

    var 변수명 = require("  모듈이름  ")

    그리고 이때 생각해야 하는 것이 모듈이 내부모듈인가 내가 정의한 모듈인가 이다. 내가 정의한 모듈이라면 

    모듈이름에 "./모듈이름"을 해야 한다. 이것은 현재의 디렉토리에서 모듈이름의 파일을 찾아서 객체화하기 때문이다.

    내부모듈이라면 "모듈이름"만 써도 되겠다.



    위의 그림에서 보이듯이 콘솔창에 test1, test2, myinfo()가 제대로 출력이 된것을 확인할 수 있다.

    process.cwd()는 현재 파일이 어디서 실행되었는지를 보여주는 함수이다.



    그렇다면 이번엔 아까와 <test.js>는 코드가 동일하지만 <testModule.js>에서 exports.~~ 형식으로 모듈화한 뒤 module.exports를

    이용하여 마무리 코드를 사용해 보겠다.



    실행한 결과 undefined와 myinfo()부분에서는 오류가 난다. 이 뜻은 결국 앞에 코드들이 없어졌다는 뜻이다.

    module.exports = "  " 이것은 앞에것을 무시한 새롭게 모듈을 추출하는 형태이기 때문이다.

    그래서 모듈화를 할때 반환되는 값이 하나일때는 이형식을 사용하여도 좋지만 여러값인 경우에는 exports.변수명 = 정의

    형식으로 하면 좋다.



    앞의 console을 주석처리한 뒤 다시 실행하면 console창에 잘찍히는 것을 환인할 수 있다.



    반응형

    댓글

Designed by Tistory.