在Javascript / node.js模块之间共享variables?

我有3个节点文件:

// run.js require('./configurations/modules'); require('./configurations/application'); // modules.js var express = module.exports.express = require('express'); var app = module.exports.app = express.createServer(); // app.js app.configure(...) 

Run.js需要两个文件,modules.js需要一个模块并创build一个variables,而app.js需要使用该variables。 但是我得到一个错误app.js导致应用程序没有定义。

有没有办法让这成为可能?

除非导出,否则在模块中声明的所有东西都是本地模块。

从一个模块导出的对象可以从引用它的其他模块访问。

 $ cat run.js require('./configurations/modules'); require('./configurations/application'); $ cat configurations/modules.js exports.somevariable = { someproperty: 'first property' }; $ cat configurations/application.js var modules = require('./modules'); modules.somevariable.something = 'second property'; console.log(modules.somevariable); $ node run.js { someproperty: 'first property', something: 'second property' } 

看起来你正在定义modules.js中的variables,但试图在app.js中引用它。 你需要在app.js中有另一个需求:

 // app.js var application = require('./path/to/modules'), app = application.app; app.configure(...);