【问题标题】:how router object of express.js is parsed to app.use() which accept callbacks only?express.js 的路由器对象如何解析为只接受回调的 app.use()?
【发布时间】:2021-03-13 17:47:08
【问题描述】:

express.js 的 router 对象如何解析为 app.use() ,它只接受回调,因为 router 是 express 的对象,我想了解为什么 app.use() 不会抛出错误,即使 router 是object 和 app.use() 需要回调?

【问题讨论】:

    标签: javascript node.js express module.exports


    【解决方案1】:

    来自app.use documentation

    callback

    回调函数;可以是:

    • 一个中间件函数。
    • 一系列中间件函数(以逗号分隔)。
    • 一组中间件函数。

    以上所有的组合。

    ...

    由于routerapp 实现了中间件接口,您可以像使用任何其他中间件函数一样使用它们。

    (我在最后强调)

    这就是答案。 approuter 都是函数,调用时遵循中间件协议。 (请记住,JavaScript 中的函数是对象,因此它们可以具有属性和方法。)

    【讨论】:

      猜你喜欢
      • 2014-12-24
      • 2021-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-20
      • 2014-04-18
      相关资源
      最近更新 更多