分享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 相关文章推荐
Eval and new funciton not the same thing
Dec 27 Javascript
node.js中的fs.symlink方法使用说明
Dec 15 Javascript
javascript手风琴下拉菜单实现代码
Nov 12 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
Dec 03 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
Jul 05 Javascript
一个仿微博登陆邮箱提示框js开发案例
Jul 28 Javascript
javaScript产生随机数的用法小结
Apr 21 Javascript
JavaScript实现封闭区域布尔运算的示例代码
Jun 25 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
Aug 24 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
Sep 16 Javascript
微信小程序地图绘制线段并且测量(实例代码)
Jan 02 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
Nov 07 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 数组遍历方法大全(foreach,list,each)
2010/06/30 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
JavaScript函数详解
2014/11/17 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
angularjs 动态从后台获取下拉框的值方法
2018/08/13 Javascript
详解package.json版本号规则
2019/08/01 Javascript
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
用Python实现KNN分类算法
2017/12/22 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
Python正则表达式匹配日期与时间的方法
2019/07/07 Python
Pycharm 2019 破解激活方法图文详解
2019/10/11 Python
HTML5+CSS3实现机器猫
2016/10/17 HTML / CSS
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
趣味游戏活动方案
2014/02/07 职场文书
新闻专业学生的自我评价
2014/02/13 职场文书
珍爱生命演讲稿
2014/05/10 职场文书
大学计划书范文800字
2014/08/14 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
python函数的两种嵌套方法使用
2022/04/02 Python
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL