Иногда просто локального хранилища 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!