分享8个JavaScript库可更好地处理本地存储


Posted in Javascript onOctober 12, 2020

我为当前项目测试了一些本地存储库。想知道他们有什么很棒的功能吗?继续阅读。

Local Storage Bridge

https://github.com/krasimir/lsbridge

如果你必须在同一个浏览器中从一个标签页发送消息到另一个标签页,你不必用艰难的方式。Local storage bridge在这里让任务变得更简单。

基本使用:

// 发送
lsbridge.send(‘app.message.error', { error: ‘Out of memory' });

// 监听
lsbridge.subscribe(‘app.message.error', function(data) {
 console.log(data); // { error: ‘Out of memory' }
});

Basil.js

分享8个JavaScript库可更好地处理本地存储

Basil.js统一了session、localStorage和cookie,为你提供了一种处理数据的直接方法。

基本使用:

let basil = new Basil(options);

basil.set(‘name', ‘Amy');
basil.get(‘name');
basil.remove(‘name');
basil.reset();

store.js

https://github.com/krasimir/lsbridge

Store.js像其他东西一样处理数据存储。但还有更多的功能,它的一个高级特性是让你更深入地访问浏览器支持。

基本使用:

store.set(‘book', { title: ‘JavaScript' }); // Store a book
store.get(‘book'); // Get stored book
store.remove(‘book'); // Remove stored book
store.clearAll(); // Clear all keys

lscache

https://github.com/pamelafox/lscache

它与localStorage API类似。事实上,它是localStorage的一个封装器,并使用HTML5模拟memcaches函数。在上面的文档中发现更多的功能。

基本使用:

lscache.set(‘name', ‘Amy', 5); // 数据将在5分钟后过期
lscache.get(‘name');

Lockr

分享8个JavaScript库可更好地处理本地存储

Lockr建立在localStorage API之上。它提供了一些有用的方法来更轻松地处理本地数据。

是什么让你要使用此库而不是localStorage API?

好吧,localStorage API仅允许你存储字符串。如果要存储数字,则需要先将该数字转换为字符串。在Lockr中不会发生这种情况,因为Lockr允许你存储更多的数据类型甚至对象。

基本使用:

Lockr.set(‘name', ‘Amy');
Lockr.set(‘age', 28);
Lockr.set(‘books', [{title: ‘JavaScript', price: 11.0}, {title: ‘Python', price: 9.0}]);

Barn

github.com/arokor/barn

Barn在localStorage之上提供了一个类似Redis的API。如果持久性很重要,那么你将需要这个库来保持数据状态,以防发生错误。

基本使用:

let barn = new Barn(localStorage);

// 原始类型
barn.set(‘name', ‘Amy');
let name = barn.get(‘name'); // Amy

// List
barn.lpush(‘names', ‘Amy');
barn.lpush(‘names', ‘James');
let name1 = barn.rpop(‘names'); // Amy
let name2 = barn.rpop(‘names'); // James

localForage

https://github.com/localForage/localForage

这个简单而快速的库将通过IndexedDB或WebSQL使用异步存储来改善Web的脱机体验。它类似于localStorage,但具有回调功能。

基本使用:

localforage.setItem(‘name', ‘Amy', function(error, value) {
 // Do something
});

localforage.getItem(‘name', function(error, value) {
 if (error) {
  console.log(‘an error occurs');
 } else {
  // Do something with the value
 }
});

很神奇的是它提供中文文档

crypt.io

https://github.com/jas-/crypt.io

crypt.io使用标准JavaScript加密库实现安全的浏览器存储。使用crypto.io时,有三个存储选项:sessionStorage,localStorage或cookie。

基本使用:

let storage = crypto;
let book = { title: ‘JavaScript', price: 13 };

storage.set(‘book', book, function(error, results) {
 if (error) {
  throw error;
 }
 
 // Do something
});

storage.get(‘book', function(error, results) {
 if (error) {
  throw error;
 }
 // Do something
});

你还知道其他本地存储库吗?为什么使用它?

到此这篇关于分享8个JavaScript库可更好地处理本地存储 的文章就介绍到这了,更多相关JavaScript 本地存储库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木! 

Javascript 相关文章推荐
禁止F5等快捷键的JS代码
Mar 06 Javascript
jquery tablesorter.js 支持中文表格排序改进
Dec 09 Javascript
js中的preventDefault与stopPropagation详解
Jan 29 Javascript
js判断当前浏览器类型,判断IE浏览器方法
Jun 02 Javascript
理解javascript封装
Feb 23 Javascript
JavaScript的Vue.js库入门学习教程
May 23 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
Nov 25 Javascript
JavaScript奇技淫巧44招【实用】
Dec 11 Javascript
微信小程序实现带刻度尺滑块功能
Mar 29 Javascript
vue2.X组件学习心得(新手必看篇)
Jul 05 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
Jan 23 Javascript
小程序实现选择题选择效果
Nov 04 Javascript
浅析我对JS延迟异步脚本的思考
Oct 12 #Javascript
Webpack5正式发布,有哪些新特性
Oct 12 #Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
Oct 12 #Javascript
移动端JS实现拖拽两种方法解析
Oct 12 #Javascript
JavaScript读取本地文件常用方法流程解析
Oct 12 #Javascript
vue实现移动端返回顶部
Oct 12 #Javascript
用JavaScript实现贪吃蛇游戏
Oct 23 #Javascript
You might like
基于PHP编程注意事项的小结
2013/04/27 PHP
PHP eval函数使用介绍
2013/12/08 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
2015/06/10 PHP
CodeIgniter配置之routes.php用法实例分析
2016/01/19 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
js在指定位置增加节点函数insertBefore()用法实例
2015/01/12 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
jquery 动态合并单元格的实现方法
2016/08/26 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
vue组件实例解析
2017/01/10 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
Python导入txt数据到mysql的方法
2015/04/08 Python
使用Python生成随机密码的示例分享
2016/02/18 Python
理解Python中的With语句
2016/03/18 Python
python文件的md5加密方法
2016/04/06 Python
python算法与数据结构之冒泡排序实例详解
2019/06/22 Python
python绘制雪景图
2019/12/16 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
掌上明珠Java程序员面试总结
2016/02/23 面试题
小学开学典礼主持词
2014/03/19 职场文书
投资意向书范本
2014/04/01 职场文书
建设投标担保书
2014/05/13 职场文书
2014年镇党建工作汇报材料
2014/11/02 职场文书
2014年残联工作总结
2014/11/21 职场文书
民政局未婚证明
2015/06/15 职场文书
学校运动会通讯稿
2015/07/18 职场文书
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers