-모듈만들기-

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 사용을 권장한다.

+ Recent posts