分享8個JavaScript庫可更好地處理本地存儲
我為當(dāng)前項目測試了一些本地存儲庫。想知道他們有什么很棒的功能嗎?繼續(xù)閱讀。
Local Storage Bridge
https://github.com/krasimir/lsbridge
如果你必須在同一個瀏覽器中從一個標(biāo)簽頁發(fā)送消息到另一個標(biāo)簽頁,你不必用艱難的方式。Local storage bridge在這里讓任務(wù)變得更簡單。
基本使用:
// 發(fā)送lsbridge.send(‘a(chǎn)pp.message.error’, { error: ‘Out of memory’ });// 監(jiān)聽lsbridge.subscribe(‘a(chǎn)pp.message.error’, function(data) { console.log(data); // { error: ‘Out of memory’ }});
Basil.js
Basil.js統(tǒng)一了session、localStorage和cookie,為你提供了一種處理數(shù)據(jù)的直接方法。
基本使用:
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像其他東西一樣處理數(shù)據(jù)存儲。但還有更多的功能,它的一個高級特性是讓你更深入地訪問瀏覽器支持。
基本使用:
store.set(‘book’, { title: ‘JavaScript’ }); // Store a bookstore.get(‘book’); // Get stored bookstore.remove(‘book’); // Remove stored bookstore.clearAll(); // Clear all keys
lscache
https://github.com/pamelafox/lscache
它與localStorage API類似。事實上,它是localStorage的一個封裝器,并使用HTML5模擬memcaches函數(shù)。在上面的文檔中發(fā)現(xiàn)更多的功能。
基本使用:
lscache.set(‘name’, ‘Amy’, 5); // 數(shù)據(jù)將在5分鐘后過期lscache.get(‘name’);
Lockr
Lockr建立在localStorage API之上。它提供了一些有用的方法來更輕松地處理本地數(shù)據(jù)。
是什么讓你要使用此庫而不是localStorage API?
好吧,localStorage API僅允許你存儲字符串。如果要存儲數(shù)字,則需要先將該數(shù)字轉(zhuǎn)換為字符串。在Lockr中不會發(fā)生這種情況,因為Lockr允許你存儲更多的數(shù)據(jù)類型甚至對象。
基本使用:
Lockr.set(‘name’, ‘Amy’);Lockr.set(‘a(chǎn)ge’, 28);Lockr.set(‘books’, [{title: ‘JavaScript’, price: 11.0}, {title: ‘Python’, price: 9.0}]);
Barn
github.com/arokor/barn
Barn在localStorage之上提供了一個類似Redis的API。如果持久性很重要,那么你將需要這個庫來保持?jǐn)?shù)據(jù)狀態(tài),以防發(fā)生錯誤。
基本使用:
let barn = new Barn(localStorage);// 原始類型barn.set(‘name’, ‘Amy’);let name = barn.get(‘name’); // Amy// Listbarn.lpush(‘names’, ‘Amy’);barn.lpush(‘names’, ‘James’);let name1 = barn.rpop(‘names’); // Amylet name2 = barn.rpop(‘names’); // James
localForage
https://github.com/localForage/localForage
這個簡單而快速的庫將通過IndexedDB或WebSQL使用異步存儲來改善Web的脫機(jī)體驗。它類似于localStorage,但具有回調(diào)功能。
基本使用:
localforage.setItem(‘name’, ‘Amy’, function(error, value) { // Do something});localforage.getItem(‘name’, function(error, value) { if (error) { console.log(‘a(chǎn)n error occurs’); } else { // Do something with the value }});
很神奇的是它提供中文文檔
crypt.io
https://github.com/jas-/crypt.io
crypt.io使用標(biāo)準(zhǔn)JavaScript加密庫實現(xiàn)安全的瀏覽器存儲。使用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});
你還知道其他本地存儲庫嗎?為什么使用它?
到此這篇關(guān)于分享8個JavaScript庫可更好地處理本地存儲 的文章就介紹到這了,更多相關(guān)JavaScript 本地存儲庫內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. React+umi+typeScript創(chuàng)建項目的過程2. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過程解析3. SharePoint Server 2019新特性介紹4. ASP中常用的22個FSO文件操作函數(shù)整理5. 三個不常見的 HTML5 實用新特性簡介6. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp7. .Net core 的熱插拔機(jī)制的深入探索及卸載問題求救指南8. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁9. 讀大數(shù)據(jù)量的XML文件的讀取問題10. 解決ASP中http狀態(tài)跳轉(zhuǎn)返回錯誤頁的問題
