在 Web 开发中,cookie 是一种用于存储客户端信息的机制,它能够在客户端和服务器之间传递数据。在 Express.js 中,我们可以使用 cookie-parser 中间件来解析 cookie。
安装和使用
使用 npm 安装 cookie-parser:
npm install cookie-parser
在 Express.js 中使用 cookie-parser:
const express = require('express'); const cookieParser = require('cookie-parser'); const app = express(); app.use(cookieParser());
解析 cookie
使用 cookie-parser 中间件后,我们可以在路由处理程序中访问 cookie,例如:
app.get('/', (req, res) => { console.log(req.cookies); res.send('Hello World!'); });
req.cookies 包含客户端发送的所有 cookie。例如,如果客户端发送了名为 username 的 cookie,我们可以使用以下代码访问它:
console.log(req.cookies.username);
设置 cookie
我们可以使用 res.cookie() 方法来设置 cookie。例如:
app.get('/', (req, res) => { res.cookie('username', 'John Doe'); res.send('Hello World!'); });
以上代码将设置一个名为 username 的 cookie,并将其值设置为 John Doe。
设置 cookie 选项
res.cookie() 方法接受一个可选的选项对象。以下是一些常用的选项:
- maxAge:cookie 的最大生存时间,以毫秒为单位。
- secure:布尔值,表示该 cookie 只能通过 HTTPS 连接发送。
- httpOnly:布尔值,表示该 cookie 只能通过 HTTP 或 HTTPS 连接发送,不能通过 JavaScript 访问。
例如,以下代码将设置一个名为 username 的 cookie,其值为 John Doe,最大生存时间为一小时:
app.get('/', (req, res) => { res.cookie('username', 'John Doe', { maxAge: 3600000 }); res.send('Hello World!'); });
删除 cookie
我们可以使用 res.clearCookie() 方法来删除 cookie。例如:
app.get('/', (req, res) => { res.clearCookie('username'); res.send('Hello World!'); });
以上代码将删除名为 username 的 cookie。
总结
在 Express.js 中,使用 cookie-parser 中间件可以方便地解析和设置 cookie。我们可以使用 req.cookies 访问客户端发送的所有 cookie,并使用 res.cookie() 方法设置新的 cookie。同时,我们也可以使用 res.clearCookie() 方法删除 cookie。
希望这篇文章能够帮助你更好地理解 cookie-parser 中间件的使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/663b627fd3423812e496007f