cookie:https://www.npmjs.com/package/js-cookie
原生cookie:https://www.w3school.com.cn/js/js_cookies.asp

什么是cookie?

Cookie 是在您的计算机上存储在小的文本文件中的数据。
当 web 服务器向浏览器发送网页后,连接被关闭,服务器会忘记用户的一切。
Cookie 是为了解决“如何记住用户信息”而发明的:

  • 当用户访问网页时,他的名字可以存储在 cookie 中。
  • 下次用户访问该页面时,cookie 会“记住”他的名字。

安装

  1. npm install js-cookie --save

引用

  1. import Cookies from 'js-cookie'

设置

  1. //创建简单的cookie
  2. Cookies.set('name', 'value');
  3. //创建有效期为7天的cookie
  4. Cookies.set('name', 'value', { expires: 7 });
  5. //为当前页创建有效期7天的cookie
  6. Cookies.set('name', 'value', { expires: 7, path: '' });

获取

  1. Cookies.get('name'); // => 'value'
  2. Cookies.get('nothing'); // => undefined
  3. //获取所有cookie
  4. Cookies.get(); // => { name: 'value' }

删除

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

set方法支持的属性

  1. expires
    定义有效期。如果传入Number,那么单位为天,你也可以传入一个Date对象,表示有效期至Date指定时间。默认情况下cookie有效期截止至用户退出浏览器。
  2. path
    string,表示此cookie对哪个地址可见。默认为”/”。
  3. domain
    string,表示此cookie对哪个域名可见。设置后cookie会对所有子域名可见。默认为对创建此cookie的域名和子域名可见。
  4. secure
    true或false,表示cookie传输是否仅支持https。默认为不要求协议必须为https。

特殊使用

  1. const user = {
  2. name: 'lia',
  3. age: 18
  4. }
  5. Cookies.set('user', user)
  6. const liaUser = JSON.parse(Cookies.get('user'))