2017년 1월 8일 일요일

Node JS 모듈 그리고 객체

exports에 객체를 할당하면 모든 파일 안에서 선언한 exports는 모듈시스템에서 처리할 수 있는 전역변수가 아닌 단순 변수로 인식.

즉, 할당된 변수가 아니라서 이 변수들을 참조 할 수 없어 에러가 발생함.

example 1.

// user1.js  
exports = {
getUser : function(){
return { id: 'test01' , name : 'testuser'};
},
group: {id : 'group01', name: 'testuser2'}
};

// app.js

var user = require('./users1.js');
console.dir(user);  // OK

function showUser(){
   return user.gerUser().name + ' , ' + user.group.name; // ERROR
}

console.log(showUser());


--> 그럼 이런식으로 변경한다.

// user1.js
var user = {
getUser : function(){
return { id: 'test01' , name : 'testuser'};
},
group: {id : 'group01', name: 'testuser2'}
};

module.exports = user;

module.exports 사용할것 exports사용하게되면 할당 안되거나 모듈을 불러들인 쪽으로 전달이 안됨.


다시 -> 할당을 안한상태
// user7.js
exports.printUser = function(){
   console.log(' user7 ' );
};

// moduletest.js
var printout = require('./user7.js').printUser; // 할당 후 사용

printout();

--> 할당하여 사용.
// user7.js
var printuser = function(){
   console.log('user7');
}

module.exports = printuser;


이런식으로 사용한다.

댓글 없음:

댓글 쓰기