1

イベントからオブジェクトを拡張しました:

var A = function () {
    EventEmitter.call(this);
};

inherits(A, EventEmitter);

var a = module.exports =  Object.create(new A());

A.prototype.method = module.exports = function f(arg1,arg2){}

私が作る別のモジュールで:

var controller = require('./filename');

function main(){
    controller.f(arg1,arg2);
}

require / exportの何かが間違っていると思いますが、何が見つかりませんでした。

4

1 に答える 1

1

これを試して:

var A = function() {
    EventEmitter.call(this);
};

inherits(A, EventEmitter);

var a = module.exports = new A();

A.prototype.f = function(arg1, arg2) {
    console.log("Hello, world!");
}

あなたの愚かさはmodule.exports、2番目のタイプを再割り当てすることでした。これはあなたが望むことをするはずです。つまり、モジュールのエクスポートは、インスタンスを返すAようなのインスタンスであり、それを呼び出すことができます。require('./controller')Af(arg1, arg2)

ちなみに、Object.create()は無関係でした。

于 2012-05-26T23:56:44.243 に答える