前端操作storage还在使用函数调用的方式吗?大可不必!

129 阅读2分钟

前端开发时,使用localStorage,sessionStorage这些都是家常便饭了,虽说它们自带的Api其实也挺方便的,但我觉着可以更甚!

相比与之前的storagex-js,现在这个更简单,也更手动化,之前那个使用了proxy来深度代理(可配置是否深度代理),然后监听数据的变化来存进本地,虽说做了很多优化,但还是觉得不够简单易用,现在这个才是超级简单,使用说明如下。

首先是安装它了

npm install storages-js

然后只需两行代码即可使用

import StorageS form 'storages-js';
let storages = new StorageS('test',undefined,{modelName:'local'});
console.log(storages.value);  //undefined
storages.value = {a:1};  //相应的保存在本地中
console.log(storages.value);  //{a:1}
StorageS构造方法比需3个参数
   key:string 浏览器是根据键值对来把数据存入本地,所以key就是键名了。
   value:any 初始化该键时的数据,建议是可JSON序列化的数据。
   option:object 一些配置属性,已有属性介绍
      model:object 需要自定义存储时配置(不需时不写)
      modelName:string 存储模式的选择,可有的值 local,session,uni,wx
      realTime:boolean 是否是实时性的,默认false

对一个StorageS的实例来说只需要直接给实例的value属性赋值,则相应更新本地数据,对存入的数据会包装一层,以便知道数据的类型,对于使用者则无需关心,是不是相当简单呢。

前段时间看了有些关于storage的一些封装,有加时间限制的,有加加密的,到时候我在写入数据的时候配置一个回调,加密啥的都交给用户去做,这个小工具灵活好用就行了,哪有这么多功能呀,也有说没必要封装storage的,那你是没大量用到本地缓存,各种JSON转换,代码乱的不行,转换后还要判断,基本类型存进去后都会变成字符串,比如'undefined'和undefined存进去后取出来都是'undefined',我这个工具把数据包了一层,不会出现这种情况。

开源地址,有用的话点个start吧

原文地址