CookieParser与req.cookies expressjs

the*_*eye 9 javascript cookies node.js express

当我req.cookiesexpressjs文档中阅读时,

使用cookieParser()中间件时,此对象默认为{},否则包含用户代理发送的cookie.

当我读到关于CookieParser中间件的时候,

解析Cookie头字段并使用由cookie名称键入的对象填充req.cookies.

所以,req.cookies如果我使用CookieParser,它将被设置为{},但CookieParser表示它将填充req.cookies.

我的问题是为什么我们需要CookieParser,如果req.cookies它自己提供cookie?

Las*_*sse 6

如果不使用cookieParser,则cookie作为URL编码的标头(“ Cookie”)出现。

这意味着默认情况下,cookie信息位于中req.headers.cookie

顾名思义,cookieParser 解析Cookie标头的内容(使用恰当命名的cookie -module),并方便地放入结果(由cookie名称作为键的对象)以req.cookies供您使用。

我鼓励您查看的源代码cookieParser以更好地理解为什么它甚至首先存在。


the*_*eye 5

看起来这是一个文档问题.我bug为这个问题创建了一个.

引用实际响应

就我本身的语法而言,我的意思是说当你使用cookieParser()时,会填充req.cookies对象.否则它不存在.有很多交叉文档在进行,因为大多数人使用Express就像Connect几乎不存在一样