之前前端项目中存取cookie都是本身去封装相关函数,近期项目开发中为了方便(偷懒),就使用了js-cookie。对于这个插件,网上资料均可以很容易得知它是一个很方便且很简单的用于操做cookie的js API。本文只是一个简单记录如何安装和使用它的一个笔记,除了能帮助本身加深印象,固然也但愿帮助有须要了解和使用它的大家。前端
一、方式一:在你的工程项目中使用npm进行安装web
npm install js-cookie --save
二、方式二:直接使用cdn资源npm
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
三、方式三:本地下载js-cookie的文件,而后进行项目script标签引入:浏览器
<script src="/path/to/js.cookie.js"></script>
若是是经过npm进行安装的,那么可使用import进行引入你的项目,其余方式能够直接进行使用bash
import jsCookie from 'js-cookie';
// 一、存普通的string jsCookie.set('token','FADFERWVX31FDSCXZDAEWEER322121CZX'); jsCookie.set('name','zhangsan') jsCookie.set('age',11,{expires: 7});//7天过时 jsCookie.set('gender','male',{expires: 7, path: 'locahost:8080/index'});//在locahost:8080/index这个地址的页面可用 7天后过时 // 二、传入Array或相似对象,而不是简单的string,那么js-cookie会将你传入的数据用JSON.stringify转换为string保存。 Cookies.set('userInfo', { username: 'zhangsan' });
// 一、取普通的string jsCookie.get('token');//获取token的值 jsCookie.get('name');//获取name的值 jsCookie.get('age');//获取age的值 jsCookie.get('gender');//获取gender的值 jsCookie.get();//获取全部cookie的键值对值 //二、取Array或对象 // 2.一、方式一:使用get方法来取Array或对象,js-cookie直接返回string,不进行解析 Cookies.get('userInfo'); // => '{"username":"zhangsan"}' Cookies.get(); // => { name: '{"username":"zhangsan"}' } //2.二、方式二:用getJSON方法获取cookie,那么js-cookie会用JSON.parse解析string并返回对象值 Cookies.getJSON('userInfo'); // => { username: 'zhangsan' } Cookies.getJSON(); // => { name: { username: 'zhangsan' } }
jsCookie.remove('token');//删除token jsCookie.remove('name');//删除 name jsCookie.remove('age');//删除age jsCookie.remove('userInfo');//删除userInfo //若是值设置了路径,那么不能用简单的delete方法删除值,须要在delete时指定路径 jsCookie.remove('gender',{path:''});//删除带有path的gender //删除的是不存在的cookie,那么系统也是不会报错的,没有返回值 jsCookie.remove('eqedaada');//无返回值
一、 删除须要注意的是,若是你删除的是不存在的cookie,那么系统也是不会报错的,没有返回值
二、若是值设置了路径,那么不能用简单的delete方法删除值,须要在delete时指定路径cookie
一、expires: 有效期(Nunber/Date) 值为numbe时,那么它的单位是天,好比,expires:7,表示的是有效期7天 值为Date对象时,有效期是到Date值那一刻 默认的有效期是至用户关闭浏览器那一刻 二、path: 路径(string) 表示cookie对哪一个地址可见,默认是“/” 三、domain : 域名(string) 表示cookie对哪一个域名可见,设置以后,其域名的子域名也是可见的 四、secure 值为true或者false,表示cookie的传输是否仅仅支持https,默认是不要求协议必须为https