Nodejs依赖怪异的行为

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

现在,在服务器端,我有一些function,导出一些关于服务器的数据,在api.js ,我想从服务器导出的function,通过添加一些数据: var api = require('./server.js');

问题是,我得到的server.js代码运行两次,第一次当我运行它,第二次当api.js运行require('./server.js')

有什么build议绕过这个问题?

谢谢

你应该反过来做。 像这样的东西:

在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