ExpressJS Cookies ExpressJS数据库 ExpressJS Sessions Cookie是简单的小文件/数据,通过服务器请求发送到客户端并存储在客户端。每次用户加载网站时,都会随请求一起发送此cookie。这有助于我们跟踪用户的操作。 以下是HTTP Cookie的众多用途 - 会话管理 个性化(推荐系统) 用户跟踪 要在Express中使用cookie,我们需要cookie-parser中间件。要安装它,请使用以下代码 - npm install --save cookie-parser 现在要使用Express,我们将需要 cookie-parser 。cookie-parser是一个中间件,用于 解析附加到客户端请求对象的cookie。要使用它,我们将在 index.js 文件中要求它; 这可以像我们使用其他中间件一样使用。在这里,我们将使用以下代码。 var cookieParser = require('cookie-parser'); app.use(cookieParser()); cookie-parser解析Cookie头并使用由cookie名称键入的对象填充 req.cookies。要设置新的Cookie,让我们在Express应用中定义一条新路线,例如 var express = require('express'); var app = express(); app.get('/', function(req, res){ res.cookie('name', 'express').send('cookie set'); //Sets name = express }); app.listen(3000); 要检查您的cookie是否已设置,只需转到浏览器,启动控制台,然后输入 console.log(document.cookie); 您将获得类似的输出(您可能因浏览器中的扩展而设置更多cookie) "name = express" 浏览器每次查询服务器时都会发回cookie。要从服务器查看cookie,请在路由中的服务器控制台上,将以下代码添加到该路由。 console.log('Cookies: ', req.cookies); 下次向此路由发送请求时,您将收到以下输出。 Cookies: { name: 'express' } 添加有效期限的Cookie 您可以添加过期的Cookie。要添加过期的cookie,只需将属性“expire”的对象设置为您希望它到期的时间。例如, //Expires after 360000 ms from the time it is set. res.cookie(name, 'value', {expire: 360000 + Date.now()}); 设置到期时间的另一种方法是使用 'maxAge' 属性。使用此属性,我们可以提供相对时间而不是绝对时间。以下是此方法的示例。 //This cookie also expires after 360000 ms from the time it is set. res.cookie(name, 'value', {maxAge: 360000}); 删除现有Cookie 要删除cookie,请使用clearCookie函数。例如,如果需要清除名为 foo 的cookie ,请使用以下代码。 var express = require('express'); var app = express(); app.get('/clear_cookie_foo', function(req, res){ res.clearCookie('foo'); res.send('cookie foo cleared'); }); app.listen(3000); 在下一章中,我们将了解如何使用cookie来管理会话。 ExpressJS数据库 ExpressJS Sessions