18_Node.js Module
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를 통해서 잘 반영되고 있는지 확인한다.