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;
이런식으로 사용한다.
댓글 없음:
댓글 쓰기