2013-11-23 26 views
2
由express.js生成的默认app.js

,有如下一行:什么是“app.router” express.js

... 
app.use(app.router); 
... 

我被这行代码混淆,因为 1 )我找不到应用程序在express api doc上有一个名为“router”的属性。 2)代码中未提及/定义“app.router”。

有一个属性叫做“app.routes”。这不是一回事,对吗?

请帮我解释一下app.router是什么以及它来自哪里。谢谢!

回答

4

app.router是Express的路由中间件。换句话说,它是用于处理传入请求并将它们匹配到您可能设置的任何路由的中间件。

尽管默认应用程序添加了它,但它并不是必需的,因为Express会在首次声明路由时自动添加路由中间件。

+0

右上方的app.use(app.router)代码行,我添加了“console.log(app.router)”。输出是“未定义的”。所以它不存在。这是正确的吗? –

+0

@ NicolasS.Xu不,这听起来不对。你能发布更多的代码吗? – robertklep

+0

这里是我得到的结果:function router(req,res,next){self__dispatch(req,res,next); } –

相关问题