分享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 相关文章推荐
JavaScript中的几个关键概念的理解-原型链的构建
May 12 Javascript
JS随机漂浮广告代码具体实例
Nov 19 Javascript
JavaScript中的splice()方法使用详解
Jun 09 Javascript
asp知识整理笔记3(问答模式)
Sep 27 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
Aug 23 Javascript
JavaScript简单下拉菜单特效
Sep 13 Javascript
JavaScript利用fetch实现异步请求的方法实例
Jul 26 Javascript
利用Decorator如何控制Koa路由详解
Jun 26 Javascript
Vue实现移动端左右滑动效果的方法
Nov 27 Javascript
微信小程序人脸识别功能代码实例
May 07 Javascript
如何在微信小程序中实现Mixins方案
Jun 20 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
Sep 25 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
什么是短波收听SWL
2021/03/01 无线电
PHP实现图片压缩
2020/09/09 PHP
javascript中的数字与字符串相加实例分析
2011/08/14 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
JS修改地址栏参数实例代码
2016/06/14 Javascript
d3.js实现简单的网络拓扑图实例代码
2016/11/06 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
vue实现element表格里表头信息提示功能(推荐)
2019/11/20 Javascript
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
java遇到微信小程序 "支付验证签名失败" 问题解决
2019/12/22 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
Python3匿名函数用法示例
2018/07/25 Python
python如何发布自已pip项目的方法步骤
2018/10/09 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
2018/10/26 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
基于Django统计博客文章阅读量
2019/10/29 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
python飞机大战 pygame游戏创建快速入门详解
2019/12/17 Python
Python基础之变量基本用法与进阶详解
2020/01/03 Python
Python实现名片管理系统
2020/02/14 Python
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
英国手机零售商:Metrofone
2019/03/18 全球购物
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
Ajxa常见问题都有哪些
2014/03/26 面试题
运动会通讯稿400字
2014/01/28 职场文书
工作一年自我鉴定
2019/06/20 职场文书
自己搭建resnet18网络并加载torchvision自带权重的操作
2021/05/13 Python
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫