Nodejs依赖怪异的行为

时间:2012-07-17 12:31:22

标签: node.js

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

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

问题是,server.js代码运行两次,第一次运行时,第二次api.js运行require('./server.js')

是否有任何建议绕过此问题?

由于

1 个答案:

答案 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