假设我有一个名为server.js
的服务器模块和一个名为api.js
的api模块,server.js
是我正在运行的主要模块。
现在,在服务器中,我有一些函数可以导出一些关于服务器的数据,
在api.js
中,我希望通过添加以下内容从服务器导出的函数中获取一些数据:var api = require('./server.js');
问题是,server.js
代码运行两次,第一次运行时,第二次api.js
运行require('./server.js')
是否有任何建议绕过此问题?
由于
答案 0 :(得分: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