npm 包 @cliqz/indexeddbshim 使用教程

阅读时长 7 分钟读完

前言

IndexedDB 是一种浏览器支持的本地数据库,可供客户端使用。它为 Web 应用提供了数据存储的能力。但是,由于它只是一个 HTML5 规范,并不是所有浏览器都完全支持,这就需要开发者找到一些替代方案。最常见的一种替代方案是使用一个叫做 IndexedDBShim 的库。IndexedDBShim 是一种 JavaScript 库,它模拟了 IndexedDB API,使得它可以在任何支持 JavaScript 的客户端环境下工作。

本文将介绍一个针对 IndexedDBShim 的 npm 包:@cliqz/indexeddbshim,并提供详细的使用教程。该包可以在客户端中轻松地使用一个支持 IndexedDB 的本地数据库来存储数据。

安装

使用 npm 安装 @cliqz/indexeddbshim 时,需要先安装 indexeddbshim:

这将下载 IndexedDBShim 将需要的一切都装载到浏览器中,以便您可以在客户端中使用 IndexedDB API 。

引入

引入 npm 包,您首先需要导入 IndexedDBShim 的依赖文件,然后再导入 @cliqz/indexeddbshim:

这两个导入语句都必须出现,因为 @cliqz/indexeddbshim 是建立在 IndexedDBShim 之上的。如果您想使用直接使用 IndexedDB API,则只需导入 indexeddbshim。

使用

@cliqz/indexeddbshim 与 IndexedDB API 的使用非常相似。您可以创建一个数据库并向其中添加项目,如下所示:

-- -------------------- ---- -------
--- ---

-- --------------------------------
----- ------- - ---------------------- ---

--------------- - -- -- -
    --------------------- ------ -- -------
--

----------------- - -- -- -
    --------------------- ------ ---------------
    -- - ---------------
--

----------------------- - ----- -- -
    -- ----------------------------
    ----- ----------- - ----------------------------------------------------- - -------- ---- ---
    ----------------- --- -- ----- ------- ---
--

接下来,我们可以使用以下代码向刚刚建立的存储区添加更多对象:

-- -------------------- ---- -------
----- ----------- - ------------------------- -------------
----- ----------- - ---------------------------------
----- ------- - ----------------- --- -- ----- ----- ---

----------------- - -- -- -
    ---------------- ----- -- --- -----------
--

--------------- - -- -- -
    ---------------- --- --- ----- -- --- -----------
--

最后,我们可以使用以下代码从存储区检索对象:

深度

IndexedDBShim 具有多种高级功能,例如:

  • 支持事务,包括读写和只读事务
  • 支持对象索引,从而使在存储区内查找对象更容易
  • 支持游标,以便按顺序遍历存储区中的对象
  • 支持单个存储区内的对象计数和 IDBs 中的对象计数
  • 支持 Blob

这些功能已经在 IndexedDBShim 中实现,因此 @cliqz/indexeddbshim 直接继承了这些功能。

学习意义

使用 @cliqz/indexeddbshim 可以让您的客户端应用程序轻松地使用 IndexedDB 数据库。该库具有非常详细的文档,并且它适用于任何支持 JavaScript 的客户端环境。由于 IndexedDB API 在浏览器中的实现可能会因浏览器而异,因此使用 IndexedDBShim 和 @cliqz/indexeddbshim 是保持应用程序在所有浏览器中工作的一个好选择。此外,它提供的功能使用相对简单,基本的 IndexedDB 操作等在此使用。

示例代码

-- -------------------- ---- -------
------ ----------------
------ --- ---- -----------------------
 
--- ---
 
-- --------------------------------
----- ------- - ---------------------- ---
 
--------------- - -- -- -
    --------------------- ------ -- -------
--
 
----------------- - -- -- -
    --------------------- ------ ---------------
    -- - ---------------
--
 
----------------------- - ----- -- -
    -- ----------------------------
    ----- ----------- - ----------------------------------------------------- - -------- ---- ---
    ----------------- --- -- ----- ------- ---
--
 
-- ----------------------------------------
----- ----------- - ------------------------- -------------
----- ----------- - ---------------------------------
----- ------- - ----------------- --- -- ----- ----- ---
 
----------------- - -- -- -
    ---------------- ----- -- --- -----------
--
 
--------------- - -- -- -
    ---------------- --- --- ----- -- --- -----------
--
 
-- -----------------------------------
----- ----------- - ------------------------- ------------
----- ----------- - ---------------------------------
----- ------- - -------------------
 
----------------- - -- -- -
    --------------------------------- -- -----
--

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/155771