2

簡単な例:

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 ヘルパーが必要です。

ありがとうございました

4

1 に答える 1

1

moduleinfile1.jsは in とは異なるインスタンス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);
于 2012-10-01T13:03:14.007 に答える