分享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 克隆数组最简单的方法
Feb 12 Javascript
Ext 表单布局实例代码
Apr 30 Javascript
关于JAVASCRIPT urldecode URL解码的问题
Jan 08 Javascript
深入领悟JavaScript中的面向对象
Nov 18 Javascript
jQuery中eq()方法用法实例
Jan 05 Javascript
javascript跨域的方法汇总
Oct 23 Javascript
简单实现限制uploadify上传个数
Nov 16 Javascript
两行代码轻松搞定JavaScript日期验证
Aug 03 Javascript
JS中如何实现复选框全选功能
Dec 19 Javascript
vue集成百度UEditor富文本编辑器使用教程
Sep 21 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
Aug 27 Javascript
详解如何在Javascript中使用Object.freeze()
Oct 18 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
安装apache2.2.22配置php5.4(具体操作步骤)
2013/06/26 PHP
smarty内置函数section的用法
2015/01/22 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
php生成微信红包数组的方法
2019/09/05 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
jquery 实现表单验证功能代码(简洁)
2012/07/03 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
JSON格式化输出
2014/11/10 Javascript
详解Angular.js的$q.defer()服务异步处理
2016/11/06 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
详解Python中的各种函数的使用
2015/05/24 Python
Python 探针的实现原理
2016/04/23 Python
python自定义异常实例详解
2017/07/11 Python
python实现闹钟定时播放音乐功能
2018/01/25 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
2019/07/22 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
Python简易版图书管理系统
2019/08/12 Python
python类的实例化问题解决
2019/08/31 Python
基于jupyter代码无法在pycharm中运行的解决方法
2020/04/21 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
产品工艺师的岗位职责
2013/11/15 职场文书
纪念建党演讲稿范文
2014/01/13 职场文书
2014年党员整改措施
2014/10/24 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书