js-cookie 轻量级cookie处理库
安装
npm install js-cookie --save
// 或
yarn add js-cookie
使用
// 引入
import Cookies from 'js-cookie'
创建
// 创建整个网站上有效的cookie
Cookies.set('name', 'value');
// 创建有效期为7天的cookie,该cookie在整个网站上均有效
Cookies.set('name', 'value', { expires: 7 });
// 为当前页创建有效期7天的cookie,该cookie对当前页面的路径有效
Cookies.set('name', 'value', { expires: 7, path: '' });
读取
// 读取时,domain和/或path属性将无效
Cookies.get('name'); // => 'value'
Cookies.get('nothing'); // => undefined
//获取所有cookie
Cookies.get(); // => { name: 'value' }
删除
Cookies.remove('name');
//如果值设置了路径,那么不能用简单的delete方法删除值,需要在delete时指定路径
Cookies.set('name', 'value', { path: '' });
Cookies.remove('name'); // 删除失败
Cookies.remove('name', { path: '' }); // 删除成功
//注意,删除不存在的cookie不会报错也不会有返回
命名空间冲突
如果存在与名称空间冲突的危险Cookies,则该noConflict方法将允许您定义新的名称空间并保留原始名称空间。
// 将js-cookie api分配给其他变量,并还原原始的“ window.Cookies”
var Cookies2 = Cookies。noConflict();
Cookies2。set( ' name ', ' value ');
json格式
js-cookie为cookie提供了简洁的JSON存储。
创建Cookie时,您可以传递Array或Object Literal而不是值中的字符串。如果这样做,js-cookie将根据以下内容存储对象的字符串表示形式JSON.stringify:
Cookies.set('name', { foo: 'bar' });
Cookies.get('name'); // => '{"foo":"bar"}'
Cookies.get(); // => { name: '{"foo":"bar"}' }
如果你用getJSON方法获取cookie,那么js-cookie会用JSON.parse解析string并返回:
Cookies.getJSON('name'); // => { foo: 'bar' }
Cookies.getJSON(); // => { name: { foo: 'bar' } }