【问题标题】:what is "app.router" express.js什么是“app.router” express.js
【发布时间】:2013-11-23 11:32:10
【问题描述】:

在express.js生成的默认app.js中,有如下一行:

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

我被这行代码弄糊涂了,因为 1) 我在express api doc 上找不到名为“路由器”的应用程序。 2)代码中没有提到/定义“app.router”。

有一个名为“app.routes”的属性。这不是一回事,对吧?

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

【问题讨论】:

    标签: javascript node.js express middleware


    【解决方案1】:

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

    即使默认应用添加了它,也不是必需的,因为 Express 会在您首次声明路由时自动添加路由中间件。

    【讨论】:

    • 在 app.use(app.router) 代码行的正上方,我添加了“console.log(app.router)”。输出是“未定义的”。所以它不存在。是这样吗?
    • @NicolasS.Xu 不,这听起来不对。你能再贴一些代码吗?
    • 这是我得到的结果:function router(req, res, next){ self._dispatch(req, res, next); }
    • 感谢您的纠正。 express API 中没有解释。你知道我在哪里可以得到关于这个 app.router 中间件的参考资料吗?
    • @NicolasS.Xu 第二个console.log 输出看起来不错。至于有关它的更多信息:the source 可能是一个不错的起点,而且this posting 包含更多信息。
    猜你喜欢
    • 2012-09-23
    • 2015-10-16
    • 2021-08-06
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    相关资源
    最近更新 更多