1

と呼ばれるサーバーモジュールとserver.jsと呼ばれるAPIモジュールがありapi.jsserver.js実行しているメインモジュールであるとします。

さて、サーバーには、サーバーに関するいくつかのデータをエクスポートするいくつかの関数があります。では、api.js次を追加して、サーバーにエクスポートされた関数からいくつかのデータを取得したいと思います。var api = require('./server.js');

問題は、server.jsコードを2回実行することです。最初はコードを実行しているとき、2番目は実行しているときですapi.jsrequire('./server.js')

この問題を回避するための提案はありますか?

ありがとう

4

1 に答える 1

1

あなたはそれを逆にすべきです。このようなもの:

server.jsの場合:

api = require('./api.js');
api.exportData({data1: foo, data2: bar});

api.jsの場合:

var data1 = 'defaultvalue1', data2 = 'defaultvalue2';

exports.exportData = function(dataObject) {
    data1 = dataObject.data1;
    data2 = dataObject.data2;
};

// rest of your code
于 2012-07-17T12:42:52.603 に答える