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 계정으로 로그인하세요. 자세히 알아보기