我是节点的新手,等等等等。
我正在查看我找到的一些代码,并遇到了行
var app = express();
var glob = require('glob');
var controllers = glob.sync(config.root + '/app/controllers/*.js');
controllers.forEach(function (controller) {
require(controller)(app);
});
我知道这会得到/app/controllers/
中以.js
结尾的每个文件的所有文件名,并将它们粘贴在一个数组中,然后遍历每个文件并在其上调用require。有道理,看起来像一个不要求每个人单独的好方法。我的问题是最后(app)
的问题是什么?我尝试查看节点文档,但没有require()()
函数。编辑(app)
使代码正常工作,没有错误,但不加载控制器。如果我不得不猜测,它是否会被找到的控制器“倍增”应用程序?为什么app.require(controller)
不适合?
提前致谢
答案 0 :(得分:1)
据我估计,我们将:
/* some-controller-file.js */
module.exports = function (app) {
/* do things with `app` */
}
因此,这允许您在控制器内部使用创建的app
,这样您就可以附加路径。
答案 1 :(得分:1)