madfour / blog-docs

一个备忘录罢了
https://madfour.cn
MIT License
5 stars 0 forks source link

js-cookie 使用文档 #42

Open madfour opened 3 years ago

madfour commented 3 years ago

详细文档点链接:js-cookie - npm

作用:

js-cookie是一个简单的,轻量级的处理cookies的js API。

安装

npm install js-cookie --save

API

创建

// 创建简单的cookie
Cookies.set('name', 'value');

// 创建有效期为7天的cookie
Cookies.set('name', 'value', { expires: 7 });

// 为当前页创建有效期7天的cookie
Cookies.set('name', 'value', { expires: 7, path: '' });

读取 与 删除值

Cookies.remove('name'); // 删除cookie时必须是同一个路径。

// 如果值设置了路径,那么不能用简单的delete方法删除值,需要在delete时指定路径
Cookies.set('name', 'value', { path: '' });
Cookies.remove('name'); // 删除失败
Cookies.remove('name', { path: '' }); // 删除成功
// 注意:删除不存在的cookie不会报错也不会有返回

// 获取cookie
Cookies.get('name');
// 读取所有的cookie
Cookies.get();

命名空间

如果担心不小心修改掉Cookies中的数据,可以用noConflict方法定义一个新的cookie

var Cookies2 = Cookies.noConflict();
Cookies2.set('name', 'value');

json相关

js-cookie允许你向cookie中存储json信息。

如果你通过set方法,传入Array或类似对象,而不是简单的string,那么js-cookie会将你传入的数据用JSON.stringify转换为string保存。

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' } }

set方法支持的属性

转换