简单示例:
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助手,因为我为整个对象“exportion”计划了一些助手。
谢谢
答案 0 :(得分:1)
module
中的 file1.js
与file2.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);