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
中的module
与file1.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);