1

假设我有一个名为的服务器模块server.js和一个名为的 api 模块api.jsserver.js这是我正在运行的主模块。

现在,在服务器中,我有一些函数可以导出有关服务器的一些数据,在 中api.js,我想通过添加从服务器导出的函数中获取一些数据:var api = require('./server.js');

问题是我让server.js代码运行了两次,第一次是我运行它,第二次是api.js运行require('./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 回答