Node.js 仅将一个变量与节点模块通信

Node.js 仅将一个变量与节点模块通信,node.js,Node.js,我有app.js和routes.js。在app.js中,我需要routes.js。要运行routes.js,我只需要将单个变量app传递给它。有没有一种方法可以在不使用require和模块导出的情况下将app与routes.js通信?我在找一种语法,比如 require(module, arguments); 好吧,你的代码肯定被包装到了某个函数或类中?如果您在routes.js Routes = function(app) {} 那你就可以做了 require('routes.js');

我有
app.js
routes.js
。在
app.js
中,我需要
routes.js
。要运行
routes.js
,我只需要将单个变量
app
传递给它。有没有一种方法可以在不使用
require
模块导出的情况下将
app
routes.js
通信?我在找一种语法,比如

require(module, arguments);

好吧,你的代码肯定被包装到了某个函数或类中?如果您在
routes.js

Routes = function(app) {}
那你就可以做了

require('routes.js');
var routes = new Routes(app);
routes.map(...);

与Xeon06的解决方案类似,如果
routes.js
导出函数,通常可以将其作为常规参数传入应用程序,例如:
require('routes')(app)
在app.js中:

require('module')(arg1, arg2);
在module/index.js中:

module.exports = function(arg1, arg2) {
    // code here
}

将require视为一个正常的JavaScript函数,根据您拥有的内容返回函数或对象

在您的情况下,require('module')将返回一个函数,然后使用参数(arg1、arg2)等调用该函数,例如:

require('module')(arg1, arg2);
您将在模块中具有以下代码结构:

module.exports = function(arg1, arg2) {
  // your code here
}