저는 grunt 빌드 프로세스를위한 유틸리티 모듈을 빌드하려고합니다. 분명히 나는 모듈 시스템의 작동 방법에 대한 혼란 스러워요, 그러나 여기에서 나는 (그것을 무관 한 이후 기능 논리를 떠나) 한 것입니다 : 그래서노드의 module.exports가 빈 객체로 다시 나타납니다.
var modifiers = require('./modifiers');
// later in file....
grunt.log.writeln(JSON.stringify(modifiers)); //outputs: {}
: 발신 파일에서 다음
var modifiers = {
task: function(grunt){
//logic...
}
}
var modify = function(grunt){
modifiers.task();
}
module.exports = {
modify: modify
};
그리고 로그 호출은 빈 객체를 출력합니다.
Warning: modifiers.modify is not a function
내가 완전히 어떻게 작동 module.exports 실종 : modifiers.modify에 오류가 있습니다 호출? 나는 다른 파일에서 함수를 내보내는 데 사용하고 있지만 실제로 여기에 전체 private-variable 의미론이 필요합니다.
다른 물건과 함께 객체를 반환하는 자체 호출 함수에 module.exports를 설정해 보았습니다. 아무 소용이 없습니다. 수정 자 객체를 반환하려면 어떻게해야합니까? 따라서 객체를 반환하고 싶다면 확장 가능해야합니다.
도움이 될 것입니다. 감사.
감사합니다. 또한 호출 된 파일에서 내 보낸 객체를 잘못 참조했습니다. 이것을 게시하면 도움이되었습니다. – dudewad
알아두면 좋은 JSON.stringify에 대해 알지 못했습니다. 나는 MDN 문서를 확인했고 당신은 완전히 옳았다. 고마워요! 한번 받아 들일 수 있습니다 (10 분 정도 기다려야 함) ... – dudewad