在前端开发中,处理 cookie 是经常需要的,而 npm 包 cocookie 就是一个方便好用的处理 cookie 的工具。本文就为大家介绍一下 cocookie 的使用方法,并提供一些常见的示例代码,帮助读者更好地掌握这个工具。
安装
在使用 cocookie 之前,需要先进行安装。在命令行中执行下列命令:
npm install cocookie
安装成功后,就可以开始使用它了。
API
cocookie 提供了一系列的 API,可以方便地操作 cookie。下面是一些常用的 API:
set(name, value, options)
设置一个 cookie。参数如下:
name
:cookie 的名称。value
:cookie 的值。options
:可选的配置项,格式为一个对象。支持以下配置项:domain
:cookie 的作用域。path
:cookie 的路径。expires
:cookie 的过期时间,可以是Date
对象或者表示时间戳的数字。maxAge
:cookie 的最大存活时间,以毫秒为单位。secure
:是否只在安全连接(HTTPS)下发送。httpOnly
:是否仅允许通过 HTTP 请求访问 cookie。
示例代码如下:
const cocookie = require('cocookie'); cocookie.set('username', 'John', { expires: new Date(Date.now() + 86400000) });
这段代码会在当前域下设置一个名称为 username
,值为 John
,过期时间为 24 小时后的 cookie。
get(name)
获取指定名称的 cookie 的值。参数如下:
name
:cookie 的名称。
示例代码如下:
const cocookie = require('cocookie'); const userName = cocookie.get('username'); console.log(userName); // John
这段代码会从当前域中获取名称为 username
的 cookie 的值,并将其打印出来。
getAll()
获取当前域下的所有 cookie 值。示例代码如下:
const cocookie = require('cocookie'); const allCookies = cocookie.getAll(); console.log(allCookies);
这段代码会获取当前域下所有 cookie 的值,并将其打印出来。
remove(name, options)
从当前域中删除指定名称的 cookie。参数如下:
name
:cookie 的名称。options
:可选的配置项,格式为一个对象。支持以下配置项:domain
:cookie 的作用域。path
:cookie 的路径。
示例代码如下:
const cocookie = require('cocookie'); cocookie.remove('username', { path: '/' });
这段代码会删除当前域下名称为 username
的 cookie。
示例
下面是一些常见的场景。通过这些示例,可以更好地理解 cocookie 的使用方法。
登录状态
-- -------------------- ---- ------- ----- -------- - -------------------- -- ------ -- --------------------------- --- ------- - ------------------- - ---- - ------------------- - -- -- -------------------------- --------
这段代码会检查当前域下是否存在名为 isLoggedIn
的 cookie,如果存在则表示已经登录,否则未登录。如果要登录,则设置一个名为 isLoggedIn
的 cookie。
记住用户名
-- -------------------- ---- ------- ----- -------- - -------------------- -- -------- ----- --------- - ------------------------- -- ----------- - -- -------------- ----- ------------ - ------------------------------------ -- -------------- - ------------------ - ---------- - - -- ----- ----- ------------- - ------------------------------------ -- --------------- - ------------------------ -------------------- - ------- ------ --- -
这段代码会在登录页面,自动填充用户名输入框。如果之前有保存过用户名,则从 cookie 中获取保存的用户名,将其填充到输入框中。如果用户输入了一个新的用户名,则将其保存到 cookie 中,下次打开页面时就会自动填充。
记录用户偏好
-- -------------------- ---- ------- ----- -------- - -------------------- -- --------- ----- --------- - --------------------------- -- ----------- - -- ----------------- ----- ---- - ----------------------------------------- -- ------ - --------------------- - ---------- - - -- ------ ----- ---------------- - -------------------------------------------- -- ------------------ - ------------------------------------------- --- -- - -------------------------- ---------------- --- -
这段代码会在设置页面上,记录用户选择的背景颜色。如果之前有保存过用户偏好,则将其应用到页面上。如果用户选择了新的偏好,则将其保存到 cookie 中。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600557d581e8991b448d4e0d