【发布时间】:2015-12-05 18:02:49
【问题描述】:
我不知道如何调用/框定这个问题标题,但谁能解释一下下面的代码是做什么的?
var routes = require("./routes/routes.js")(app);
我看到一个second () 应用程序正在通过,这是做什么的?
https://github.com/couchbaselabs/restful-angularjs-nodejs/blob/master/app.js
令我惊讶的是,在上面的代码中,app.js 中根本没有使用变量路由?目的是什么。我很困惑(app) argument在这里有什么神奇的吗?
【问题讨论】:
-
(1) routes.js 文件导出一个函数,因此它会立即被调用并将结果存储在
routes中。 (2) 在该调用中,app被传递给路由器,因此应用程序确实使用了路由器,而不是变量routes。 -
@HunanRostomyan : app.use("/", require("./routes"));这段代码是否等同于上面的代码?
-
这可行。我不确定。试一试。
-
@HunanRostomyan:行得通,我的问题和上面的代码一样吗?在上面我没有指定任何路径,但在这里我使用“/”?
-
这就是我的回应。让我怀疑这不起作用的是设置路由的异步方式。你给你的应用程序提供路线,它会向它添加东西。现在,如果
app.use设置为将app的副本传递给它的第二个路由器参数,那么我认为这也可以。
标签: javascript node.js