关于 express 中扩展 req 对象的问题

最近在 github 上面看着别人的项目来学习 express。
今天看到这么一段代码(出处)

exports.logout = function (req, res) {
  req.logout()
  res.redirect('/login')
}

按照我的理解,如果要扩展 req 对象的话,应该是要通过中间件来扩展的吧。
但我搜了一下,好像没有哪里为 req 对象添加过 logout 方法。

为什么这里的 req 对象会有 logout 方法?

阅读 6.9k
3 个回答

如果你不用passport其实没必要看它的东西,这种在req上绑方法的做法容易导致不同中间件的冲突,降低可维护性,框架为了易于使用所以会加,但是一般的应用最好避免。

新手上路,请多包涵

没有好的依赖注入的解决方案,只能用这种脏办法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题