NodeJS:使用另一个模块的module.exports函数

简单的例子:

file1 module.exports.foo = function(obj) { module.exports.obj = obj; } file2 file1 = require("file1") var something = {a: "a"}; file1.foo(something); //export "something" being a part of file2 

上面的例子不起作用。

我想要的基本上是一个module.exports帮手,因为我计划了一些帮助整个对象“导出”。

谢谢

file1.js中的modulefile1.js中的不同。

file1.js

 module.exports.foo = function(obj) { module.exports.obj = obj; return module; } 

file2.js

 console.log("running file2"); file1 = require("./file1"); var something = {a: "a"}; var moduleOfFile1 = file1.foo(something); //export "something" being a part of file2 console.log("file1 module: " + moduleOfFile1.id); console.log("file2 module: " + module.id); 

安慰:

 node file2.js 

id返回是不同的


更新

或者,为什么不更新file2.js来扩展其module.exports

File2.js

 // well, you may copy `extend` implementation if you // do not want to depend on `underscore.js` var _ = require("underscore"); file1 = require("./file1"); _.extend(module.exports, file1); var something = {a: "a"}; // or do something else _.extend(module.exports, { obj: something }); 

File3.js

 file2 = require("./file2.js"); console.log(file2.obj.a);