[4장]노드 모듈
▶노드모듈 사용하기
함수를 이용하여 필요한 기능을 분리시켜 재사용하는 원리와 같이
여러가지 파일을 나누어 재사용할수있다. 이러한 파일을 모듈이라 한다.
메인파일은 여러가지 파일들을 가지고 전체적인 실행 순서나 흐름만 제어한다.
▶exports 객체 사용하기
앞서 포스팅했던 글 에서 언급했듯이 전역 객체로 어디서든 사용할수있다.
exports 객체의 속성으로 변수나 함수 지정하면 메인에서 불러와 사용한다.
require() = 모듈을 불러올때, 파일이름을 파라미터로
호출시 모듈객체 반환 -> 반환된 모듈객체를 사용하여 exports객체에 설정한 속성들을 사용할수있다.
[example.js]-> 메인역할, 모듈을 불러와서 사용
1 2 | var operate = require('./operate'); console.log('결과: %d', operate.add(1,1)); | cs |
*상대적인 파일 패스로 파일을 불러온다.
[operate.js]-> 모듈
1 2 3 4 5 6 7 8 9 10 11 12 | var o={}; o.add = function(x, y){ return x+y; } o.sub = function(x,y){ return x-y; } module.exports = o; | cs |
혹은
1 2 3 4 5 6 7 8 | exports.add = function(x,y){ return x+y; } exports.sub = function(x,y){ return x-y; } | cs |
[결과]
1 2 | C:\Users\honglab403\Desktop\nodejs\node>node example 결과: 2 | cs |
▶외장모듈
외장모듈을 사용하는 경우 (다른사람이 만들어둔 모듈)
require() 함수 사용할때 상대패스말고 모듈이름만 사용하면된다.
외장모듈 다운받는법 -> npm 이용하기
▶npm(node package manager)
노드 패키지 사용할수 있도록 설치 삭제등을 지원하는 프로그램
npm은 인터넷에 올려져있는 노드 패키지를 다운로드 하여 설치할수 있도록 도와준다.
1 | C:\Users\honglab403\Desktop\nodejs\node>npm install | cs |
특정 모듈을 받고싶으면 -> npm install mysql(특정 모듈이름)
▶내장모듈
http://nodejs.org/api
파일 패스를 다루는 path 모듈 (조금 쓰일것같은 모듈)
var path1 = path.join('/User/moon', 'node.exe');
-> path.join() : 여러개 이름을 합쳐서 하나의 파일 패스로 만든다.
그밖에
path.dirname()/ .basename()/ extname()