最近在 github 上面看着别人的项目来学习 express。
今天看到这么一段代码(出处):
exports.logout = function (req, res) {
req.logout()
res.redirect('/login')
}
按照我的理解,如果要扩展 req
对象的话,应该是要通过中间件来扩展的吧。
但我搜了一下,好像没有哪里为 req
对象添加过 logout
方法。
为什么这里的 req
对象会有 logout
方法?
http://passportjs.org/guide/logout/
没有好的依赖注入的解决方案,只能用这种脏办法
如果你不用passport其实没必要看它的东西,这种在req上绑方法的做法容易导致不同中间件的冲突,降低可维护性,框架为了易于使用所以会加,但是一般的应用最好避免。