# 安装

js-cookie 是一个简单的,轻量级的处理 cookies 的 js API,用来处理 cookie 相关的插件

npm install js-cookie --save

# 使用

import Cookie from "js-cookie";

# 创建

// 创建简单的 cookie
Cookie.set("属性名", "值");
// 创建有效期为 7 天的 cookie
Cookie.set("属性名", "值", { expires: 7 });
// 为当前页创建有效期 7 天的 cookie
Cookie.set("属性名", "值", { expires: 7, path: "" });

# 读取

Cookie.get("属性名");
Cookie.get("nothing"); // => undefined
// 获取所有 cookie
Cookie.get();

# 删除

Cookie.remove("属性名");
// 如果值设置了路径,需要指定路径
Cookies.remove("属性名", { path: "" });
// 注意:删除不存在的 cookie 不会报错也不会有返回

# 命名冲突

如果存在可能存在命名冲突的 cookie 名, noConflict() 方法将使我们可以使用我们需要的命名且保留原本冲突的名字

var Cookie2 = Cookies.noConflict();
Cookie2.set("name", "value");

# JSON

js-cookie 提供了简易的 JSON 使用。当我们需要创建 cookie 时,我们可以使用 Array 或 Object ,而不是只能使用 String 。当使用 Array 或 Object 后,可以通过 JSON.stringify() 来获取到对应的对象

Cookie.set("name", { foo: "bar" });
// 当使用 Cookies.get () 读取 cookie 时,获取到的是 String
Cookie.get("name"); // => '{"foo":"bar"}'
Cookie.get(); // => { name: '{"foo":"bar"}' }
// 使用 getJSON (),会自动对 String 进行 JSON.parse () 操作
Cookie.getJSON("name"); // => { foo: 'bar' }
Cookie.getJSON(); // => { name: { foo: 'bar' } }

# set 的属性

  • expires

    定义有效期,如果传入 Number,那么单位为天,你也可以传入一个 Date 对象,表示有效期至 Date 指定时间

    默认情况下 cookie 有效期截止至用户退出浏览器

  • path

    string,表示此 cookie 对哪个地址可见

    默认为 "/"

  • domain

    string,表示此 cookie 对哪个域名可见。设置后 cookie 会对所有子域名可见

    默认为对创建此 cookie 的域名和子域名可见

  • secure

    true 或 false,表示 cookie 传输是否仅支持 https

    默认为不要求协议必须为 https

更新于

请我喝奶茶⌯oᴗo⌯

呆鸭 微信支付

微信支付

呆鸭 支付宝

支付宝