我试图为一个咕噜生成过程构建一些实用程序模块。显然,我在模块系统是如何工作的困惑,但这里是我(留出功能逻辑,因为它是不相关的):节点的module.exports作为空对象返回
var modifiers = {
task: function(grunt){
//logic...
}
}
var modify = function(grunt){
modifiers.task();
}
module.exports = {
modify: modify
};
然后从主叫文件:
var modifiers = require('./modifiers');
// later in file....
grunt.log.writeln(JSON.stringify(modifiers)); //outputs: {}
所以日志调用输出一个空对象。调用modifiers.modify给出了一个错误:
Warning: modifiers.modify is not a function
我是完全丢失怎么module.exports作品?我在其他文件中使用它来导出函数,但我真的需要这里的整个私有变量语义。
我也尝试将module.exports设置为一个自调用函数,该函数返回一个对象以及其他东西 - 无济于事。我如何获得它只是返回修饰符对象?它需要是可扩展的,因此我想返回一个对象。
任何帮助将是巨大的。谢谢。
谢谢。另外,我在调用文件中错误地引用了导出的obejct。发布这个帮助我看到了这一点。 – dudewad
不知道关于JSON.stringify,这是很好的知道。我检查了MDN文档,你完全正确。非常感谢!一旦它让我接受(必须等待10分钟)... – dudewad