我有app.js
和routes.js
。在app.js
我需要routes.js
。要运行routes.js
,我只需要将单个变量app
传递给它。有没有办法在不使用app
和routes.js
的情况下将require
传达给module.exports
?我正在寻找像
require(module, arguments);
答案 0 :(得分:1)
嗯,你的代码肯定包含在某个函数或类中?如果您有routes.js
Routes = function(app) {}
然后你可以做
require('routes.js');
var routes = new Routes(app);
routes.map(...);
答案 1 :(得分:0)
与Xeon06的解决方案类似,如果routes.js
导出一个函数,您通常可以将该应用作为常规参数传递,如下所示:require('routes')(app)
。
答案 2 :(得分:0)
在app.js中:
require('module')(arg1, arg2);
在module / index.js中:
module.exports = function(arg1, arg2) {
// code here
}
答案 3 :(得分:0)
将require视为一个普通的JavaScript函数,它返回一个函数或一个对象,具体取决于你拥有的东西。
在你的情况下,require('module')将返回一个函数,然后用参数(arg1,arg2)等调用,例如:
require('module')(arg1, arg2);
您将在模块中使用以下代码结构:
module.exports = function(arg1, arg2) {
// your code here
}