关于前端:8个JavaScript库可更好地处理本地存储

1次阅读

共计 2285 个字符,预计需要花费 6 分钟才能阅读完成。

我为以后我的项目测试了一些本地存储库。想晓得他们有什么很棒的性能吗?持续浏览。

Local Storage Bridge

https://github.com/krasimir/l…

如果你必须在同一个浏览器中从一个标签页发送音讯到另一个标签页,你不用用艰巨的形式。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

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/marcuswest…

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/…

它与 localStorage API 相似。事实上,它是 localStorage 的一个封装器,并应用 HTML5 模仿 memcaches 函数。在下面的文档中发现更多的性能。

根本应用:

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

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/localForag…

这个简略而疾速的库将通过 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
});

你还晓得其余本地存储库吗?为什么应用它?在上面的评论中让我晓得!

正文完
 0