본문 바로가기
IT/web

Node.js] 모듈화

by 깻잎쌈 2020. 2. 2.
반응형

1

exports에 객체를 할당하면 전역 변수가 아닌 단순 변수로 인식하게 된다.

그래서 이 모듈을 불러들이면 빈 exports 전역 변수다.

x

exports = {
    getUser : function(){
        return {id: 'test01', name:'soheee'};
    },
    
    //객체 할당 
    group : {id:'group01', name:'frienddd'}
}

 

대신 module.exports를 쓰면 객체를 할당할 수 있다.

o

//user2.js
var user = {
	//함수 추가 
    getUser : function(){
        return {id: 'test01', name:'soheee'};
    },
    
    //객체 추가
    group : {id:'group01', name:'frienddd'}
}

// module.exports에 user 변수 할당 
module.exports = user;

...
//다른 js파일
var user2 = require('./user2');

console.dir(user2);

function shw (){        
    return user2.getUser().name + ', '+ user2.group.name; 
}

console.log(shw());

 

2

exports랑 module.exports를 같이 쓰면 module.export가 적용

module.exports = {
    getUser : function(){
        return {id: 'test01', name:'nameeee'};
    },
    
    //객체 할당 
    group : {id:'group01', name:'frienddd'}
}

exports.group = {id:'group02', name:'eeee'};


// 결과 확인 
var user = require('./user2');

function shw(){
    return user.getUser().name+', '+ user.group.name;
}

console.log(shw()); 
//결과 => nameeee, frienddd

 

반응형

댓글