来源:https://medium.com/javascript-in-plain-english
作者:Amy J. Andrews

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

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

http://wisembly.github.io/basil.js/

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/marcuswestin/store.js

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

https://github.com/tsironis/lockr

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

https://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
});

你还知道其他本地存储库吗?为什么使用它?在下面的评论中让我知道!

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

8个JavaScript库可更好地处理本地存储相关推荐

  1. JavaScript之移动端网页特效与本地存储(57th)

    一.移动端网页特效 1. 触摸事件 1.1 触屏事件概述 1.移动端浏览器兼容性较好,我们不需要考虑以前JS 的兼容性问题,可以放心的使用原生JS 书写效果,但是移动端也有自己独特的地方.比如触屏事件 ...

  2. 轻量级web api_10个很棒的JavaScript库,提升Web开发效率

    JavaScript是最流行的编程语言之一.过去的20年中程序员们见证了它的爆发式增长.现在,JavaScript几乎可以执行任何操作,并且可以在包括物联网在内的多个平台和设备上运行.其流行的原因之一 ...

  3. JavaScript库和API

    by Adam Recvlohe 通过亚当·雷夫洛厄(Adam Recvlohe) API就像一盒巧克力 (APIs are like a box of chocolates) If you have ...

  4. jQuery JavaScript库达到新的里程碑

    一.什么是JQuery? Jquery是继prototype之后又一个优秀的Javascript框架.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Saf ...

  5. 十二步创建你的第一个JavaScript库

    是否曾对Mootools的魔力感到惊奇?是否有想知道Dojo如何做到那样的?是否对jQuery感到好奇?在这个教程中,我们将了解它们背后的东西并且动手创建一个超级简单的你最喜欢的库. 我们其乎每天都在 ...

  6. 参考: 40个轻量级 JavaScript 库

    流行的 JavaScript 库不胜枚举,jQuery, MooTools, Prototype, Dojo, YUI.这些 JavaScript 库功能丰富,加上它们的插件,几乎能胜任任何工作,然而 ...

  7. 性能:15个JavaScript本地存储技术的函数库和工具

    当构建更复杂的JavaScript应用程序运行在用户的浏览器是非常有用的,它可以在浏览器中存储信息,这样的信息可以被共享在不同的页面,浏览会话. 在最近的过去,这将有可能只被cookies文本文件保存 ...

  8. 开发者必备的12个JavaScript库

    现在 web 设计是最有趣的了,做好 web 设计不仅要熟练使用 Javascript,css 和 html 等,还要有自己的创意设计.为了方便大家发挥自己的创意,就产生了很多 JS 框架,Node. ...

  9. JavaScript库开发者们的规则

    1. 保持无侵入性 我的HTML标记不想知道你的JavaScript代码. 2. 严禁修改和扩展Object.prototype! 这条很重要,因此需要一条完全针对它的规则.对象是JavaScript ...

最新文章

  1. PTA基础编程题目集-6-7 统计某类完全平方数
  2. 关于JS闭包一篇不错的文章记录下
  3. 内核配置中 ramdisk 大小修改
  4. 《当程序员的那些狗日日子》(十二)公司里的靓丽风景
  5. 面试官:限制系统扩展能力的瓶颈有哪些?
  6. 对象集合中如何用对象的某个属性给对象排序?
  7. 约束流–没有Drools规则语言的现代Java约束
  8. 用c语言计算sin x 的值,用泰勒公式求sin(x)的近似值
  9. php查询字段前30个字符,php/json我的字段名被截断为30个字符。我能停下来吗?
  10. APP架构师必看:面对爆发流量如何进行架构调整
  11. oraclemt 无法启动服务_调整MT后台 解决站点压力问题
  12. 利用阿里云oss实现上传视频和图片功能
  13. 题解1205汉诺塔问题
  14. JS面试题汇总(六)
  15. 两个向量的夹角解法--VC
  16. 2019年 阿里巴巴Python 面试必备 !100 问
  17. 用C语言复现用贪吃蛇游戏(二)完结
  18. SQL server 除法计算百分比
  19. 贝叶斯公式与随机点名中的学生可信度
  20. rsas可以扫描linux,GitHub - vtatv/RSAS-Task-Release: 绿盟远程安全评估系统(RSAS)-RSAS批量下任务工具...

热门文章

  1. [转]敏捷开发中编写高质量Java代码
  2. perl的几个for循环判断
  3. C语言中的静态函数的作用
  4. 电路宽度测量halcon例子
  5. get_metrology_object_measures获取测量区域和计量模型的计量对象的边缘位置结果
  6. HALCON示例程序crystal.hdev通过局部阈值处理和区域处理提取六角形晶体
  7. HALCON示例程序color_pieces.hdev通过MLP训练器对彩色棋子进行分类识别
  8. 现代制造工程课堂笔记03:第二部分(含易考点与必考点)
  9. mysql connection是什么_记一次MySQL出现too many connection
  10. 2019.03.29 NOIP训练 友好国度(点分治+容斥)