在前端开发中,处理 cookie 是一个常见任务。而利用 npm 包 cookies 可以方便地处理 cookie 相关操作。本文将介绍如何使用 cookies 包来管理客户端和服务端的 cookie。
安装
首先,在终端中运行以下命令安装 cookies 包:
npm install cookies --save
基本用法
设置 cookie
const Cookies = require('cookies'); const cookies = new Cookies(request, response); // 设置一个名为 name 的 cookie,值为 Cookie-Value,并设置过期时间为 1 小时 cookies.set('name', 'Cookie-Value', { maxAge: 60 * 60 });
获取 cookie
const Cookies = require('cookies'); const cookies = new Cookies(request, response); // 获取名为 name 的 cookie 的值 const cookieValue = cookies.get('name');
删除 cookie
const Cookies = require('cookies'); const cookies = new Cookies(request, response); // 删除名为 name 的 cookie cookies.set('name', null);
高级用法
签名
cookies 包支持对 cookie 进行签名,防止 cookie 被篡改。使用签名需要提供一个秘钥,该秘钥应该是长且随机的字符串。
const Cookies = require('cookies'); const cookies = new Cookies(request, response, { keys: ['key1', 'key2'] }); // 设置一个名为 name 的 cookie,值为 Cookie-Value,并进行签名后设置过期时间为 1 小时 cookies.set('name', 'Cookie-Value', { signed: true, maxAge: 60 * 60 });
获取签名 cookie 的值:
const Cookies = require('cookies'); const cookies = new Cookies(request, response, { keys: ['key1', 'key2'] }); // 获取名为 name 的签名 cookie 的值 const cookieValue = cookies.get('name', { signed: true });
加密
cookies 包还支持对 cookie 进行加密,保护 cookie 中的敏感信息。使用加密需要提供一个秘钥,该秘钥应该是长且随机的字符串。
const Cookies = require('cookies'); const cookies = new Cookies(request, response, { secure: true, keys: ['key1', 'key2'] }); // 设置一个名为 name 的 cookie,值为 Cookie-Value,并进行加密后设置过期时间为 1 小时 cookies.set('name', 'Cookie-Value', { encrypted: true, maxAge: 60 * 60 });
获取加密 cookie 的值:
const Cookies = require('cookies'); const cookies = new Cookies(request, response, { secure: true, keys: ['key1', 'key2'] }); // 获取名为 name 的加密 cookie 的值 const cookieValue = cookies.get('name', { encrypted: true });
总结
本文介绍了如何使用 npm 包 cookies 来管理客户端和服务端的 cookie,包括设置、获取和删除 cookie,以及高级用法中的签名和加密。使用 cookies 包可以简化 cookie 相关操作的开发,提高效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/49142