For developer/Node.js
(Node.js)모듈화
프린이0218
2020. 9. 9. 19:02
-모듈만들기-
user1.js
//exports 객체 속성으로 함수 추가
exports.getUser = function(){
return {id:'test01',name:'소녀시대'};
}
//exports 객체 속성으로 객체 추가
exports.group={id:'group',name:'친구'};
module_test1.js
//require() 메소드는 exports 객체를 반환함
var user1 = require('./user1');
function showUser(){
return user1.getUser().name + ', '+user1.group.name;
}
console.log('사용자 정보:%s',showUser);
-출력결과-
-module.exports를 사용해서 객체를 그대로 할당하기-
노드는 모듈을 처리할 때 exports를 속성으로 인식 , 그래서 exports에 객체를 할당하면 require한 부분에서 사용 할 수 없음 => 이 부분을 해결하기 위하여 exports 가 아닌 module.exports 를 사용
user3.js
//module.exports에는 객체를 그대로 할당할 수 있음
var user = {
getUser : function(){
return {id:'test01',name:'소녀시대'};
},
group:{id:'group01',name:'친구'}
}
module.exports = user;
module_test3.js
//require() 메소드는 객체를 반환함.
var user = require('./user3');
function showUser(){
return user.getUser().name + ', '+user.group.name;
}
console.log('사용자 정보 : %s',showUser());
-출력결과-
-exports와 module.exports를 함께 사용하기-
두 개를 동시에 사용하면 module.exports가 우선으로 적용된다. 따라서 module.exports 사용을 권장한다.