Node.js - Module

Node.js에서는 다른 파일에 있는 object를 불러와서 사용할 수 있는데, 이렇게 코드를 다른 파일로 분리하는 것을 module이라고 합니다.

한 파일의 object를 다른 파일에서 사용가능하게 하기 위해서는 해당 object를 module.exports에 담아줘야 합니다.

module.exports = myModule;

다른 파일의 module을 불러오기 위해서는 require 함수를 사용하는데, 이때 require함수에 parameter로 대상 module의 상대위치와 파일이름을 문자열로 넣습니다. js파일만 module로 불러올 수 있기 때문에 파일이름에서 .js는 생략합니다.

var myModule = require("./my-module");

만약 module이 node_modules폴더에 있다면 위치를 생략할 수 있습니다. npm install로 설치된 package들이 이 경우에 해당합니다.

var express = require("express");

예제

main.js에서 my-module.js를 호출하는 예제입니다.
우선 my-module.js에서 myModule 오브젝트를 만든 후 module.exports에 넣어줍니다.

// my-module.js

var myModule = { 
 name: "Kim", 
 age: 23,
 aboutMe: function(){
  console.log("Hi, my name is " + this.name + " and I'm " + this.age + " year's old.");
 } 
};

module.exports = myModule;

main.js에서 myModule을 호출합니다. 이때 my-module.js는 main.js와 같은 폴더에 있습니다.

// main.js

var m = require("./my-module");

console.log(m.name);
// Kim
console.log(m.age);
// 23
m.aboutMe();
// Hi, my name is Kim and I'm 23 year's old.

./my-module.js에서 호출된 module을 변수 m에 담았습니다(파일위치에서 .js는 생략됩니다). 변수 m은 my-module.js의 myModule object와 동일합니다.


댓글

댓글쓰기

이 글에 댓글을 다시려면 SNS 계정으로 로그인하세요. 자세히 알아보기

UP