less than 1 minute read

18 Node.js - 모듈의 형식

코드가 늘어나면 정리정돈을 해야한다.
그 방법에는 배열, 객체…. 등이 있고,
그 객체를 정리하는 더 큰 틀의 도구에는 모듈 이 있다.

Example

  • muse.js module을 사용하는 part.js 파일 생성

      mpart.js
    
      var M={
        v:'v',
        f:function(){
          console.log(this.v);
        }
      }
      M.f();
      모듈이라는 약속된 객체를 사용한다.
    
      module.exports = M;
    
  • 지금 만드는 모듈이 담고 있는 파일의 기능 중에서 M이 가리키는 객체를
    모듈 밖에서 사용할 수 있게 exports 한다.

    mpart.js 에서 작성한 코드를 모듈로 exports 해서 muse.js 에서 출력한다.

    muse.js
      
    //모듈을 가져온다
    var part = require('./mpart.js'); //현재 디렉토리의 파일
    console.log(part);
    
    c:\_dev\_nodejs\nodejs1>node muse.js
    { v: 'v', f: [Function: f] }
    

즉, part라는 변수는 모듈을 로딩한 결과를 담고 있다.
part의 내용에는 { v: ‘v’, f: [Function: f] } 이러한 객체가 들어있고
그 객체는 mpart.js 에서 module.exports의 값으로 대입한 var M = {} 객체이다.

위와 똑같이 동작하게 하려면

part.f();

App 제작 - 모듈의 활용

/_dev/_nodejs/lib 폴더에 template.js 파일 생성

main.js 의 var template 객체를 붙여넣기 한다.

template.js 에서 모듈로 사용하게 될 코드를 바깥에서 사용하게 하려면

    var template = {
    }
    modul.exports = template;

이런 형식일 수 있지만

    변수명을 module.exports = {} 로 변경할 수 있다.

main.js 수정

    var template = require('../nodejs1/lib/template.js');

pm2 log를 통해서 잘 반영되고 있는지 확인한다.