Иногда просто локального хранилища HTML 5 недостаточно.
Я протестировал некоторые локальные библиотеки хранения для своих текущих проектов. Хотите знать, какие у них есть интересные функции? Продолжай читать.
Мост локального хранилища
Https://github.com/krasimir/lsbridge
Если вам нужно отправить сообщение с одной вкладки на другую в одном и том же браузере, вам не нужно делать это жестко. Мост локального хранилища упрощает задачу.
Основное использование:
// Sending lsbridge.send(‘app.message.error’, { error: ‘Out of memory’ }); // Listening lsbridge.subscribe(‘app.message.error’, function(data) { console.log(data); // { error: ‘Out of memory’ } });
Basil.js
Http://wisembly.github.io/basil.js/
Basil.js объединяет сеанс, 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. Узнайте больше о функциях в документе выше.
Основное использование:
lscache.set(‘name’, ‘Amy’, 5); // Data will be expired after 5 minutes lscache.get(‘name’);
Локр
Https://github.com/tsironis/lockr
Lockr построен на основе localStorage API. Он предоставляет вам несколько полезных методов для упрощения работы с локальными данными.
Что заставляет вас использовать эту библиотеку вместо localStorage API?
Что ж, API localStorage позволяет хранить только строки. Если вы хотите сохранить число, вам нужно сначала преобразовать это число в строку. В Lockr этого не происходит, потому что Lockr позволяет хранить больше типов данных, даже объектов.
Основное использование:
Lockr.set(‘name’, ‘Amy’); Lockr.set(‘age’, 28); Lockr.set(‘books’, [{title: ‘JavaScript’, price: 11.0}, {title: ‘Python’, price: 9.0}]);
Сарай
Https://github.com/arokor/barn
Barn предоставляет API-интерфейс, похожий на Redis, поверх localStorage. Если настойчивость имеет значение, вам понадобится эта библиотека для сохранения состояния данных в случае возникновения ошибок.
Основное использование:
let barn = new Barn(localStorage); // Primitive types 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. Он похож на 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 обеспечивает безопасность хранилища в браузере с помощью Standford JavaScript Crypto Libraries. При работе с 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 });
Знаете ли вы еще какую-нибудь локальную библиотеку для хранения? Почему ты им пользуешься? Дайте мне знать в комментарии ниже
Дальнейшее чтение
JavaScript на простом английском языке
Понравилась эта статья? Если да, то получите больше похожего контента, подписавшись на наш канал на YouTube в Decoded!