@capacitor/storage

中文文档
1.2.5发布于 2022/03/04MITTypeScriptESM + CJS零依赖近 30 天下载 2.2万

存储API为轻量级数据提供了一个简单的密钥/值持续存储.

此软件包已被标记为弃用

package has been renamed to @capacitor/preferences

中文使用文档
文档目录13 节
  1. 安装
  2. 示例
  3. 与JSON合作
  4. API 密码
  5. 配置(...)
  6. 获取(...)
  7. 设置(...)
  8. 删除(...)
  9. 清除( c)
  10. 键( )
  11. 迁移( )
  12. 删除旧( C)
  13. 接口

@ 电容器/ 存储器

存储API为轻量级数据提供了一个简单的密钥/值持续存储.

移动操作系统可定期清除下列数据: window.localStorage,所以这个 应使用API。 此 API 将返回使用 localStorage 当运行为进步Web App.

此插件将使用 UserDefaults 在iOS和 SharedPreferences 安卓号 如果应用程序未安装, 则清除存储数据 .

说明: 这个 API 是 没有 打算用作本地数据库。 如果你的应用 存储大量数据,有高读/写负载,或需要复杂的查询, 我们建议看看基于SQLite的解决方案. 这种解决办法之一是: 离子安全存储,一个基于 SQLite 的引擎,具有全加密支持. 这个 社区 还建造了多台其他存储引擎.

安装

npm install @capacitor/storage
npx cap sync

示例

import { Storage } from '@capacitor/storage';

const setName = async () => {
  await Storage.set({
    key: 'name',
    value: 'Max',
  });
};

const checkName = async () => {
  const { value } = await Storage.get({ key: 'name' });

  console.log(`Hello ${value}!`);
};

const removeName = async () => {
  await Storage.remove({ key: 'name' });
};

与JSON合作

存储 API 只支持字符串值 。 不过,如果你 JSON.stringify 调用前的对象 set(),则 JSON.parse 从 get()。 。 。 .

这种方法也可用于存储非字符串值,例如数字和布尔.

API 密码

配置(...)

configure(options: ConfigureOptions) => Promise<void>

在运行时配置存储插件 .

选项 undefined 将不使用.

参数类型
optionsConfigureOptions

自: 1.0.0 (单位:千美元)


获取(...)

get(options: GetOptions) => Promise<GetResult>

从给定密钥的存储中获取值 .

参数类型
optionsGetOptions

回返情况: Promise<GetResult>

自: 1.0.0 (单位:千美元)


设置(...)

set(options: SetOptions) => Promise<void>

为给定的密钥设置存储值 .

参数类型
optionsSetOptions

自: 1.0.0 (单位:千美元)


删除(...)

remove(options: RemoveOptions) => Promise<void>

删除给定密钥存储中的值( 如果有 ) .

参数类型
optionsRemoveOptions

自: 1.0.0 (单位:千美元)


清除( c)

clear() => Promise<void>

从存储中清除密钥和值 .

自: 1.0.0 (单位:千美元)


键( )

keys() => Promise<KeysResult>

返回存储中的已知密钥列表 .

回返情况: Promise<KeysResult>

自: 1.0.0 (单位:千美元)


迁移( )

migrate() => Promise<MigrateResult>

从 Capacitor 2 存储插件迁移数据.

这一行动是无损的。 它不会删除旧数据,只会 如果密钥尚未设置, 请写入新数据 . 要删除迁移后的旧数据, 请调用 removeOld () .

回返情况: Promise<MigrateResult>

自: 1.0.0 (单位:千美元)


删除旧( C)

removeOld() => Promise<void>

删除旧数据 _cap_ 前缀来自 Capacitor 2 存储插件.

自: 1.1.0 国家


接口

配置选项

Prop类型说明默认自兹
groupstring设置存储组 。 存储组用于组织密钥/值对. 使用“ NativeStorage ” 值提供反向兼容性 cordova-plugin-nativestorage警告: clear() 方法可以在使用 “ NativeStorage” 组时删除意外值.CapacitorStorage1.0.0 (单位:千美元)

获取恢复

Prop类型说明自兹
valuestring | null与给定密钥相关的存储值 。 如果一个值之前没有设定或被删除,则该值将是 null。 。 。 .1.0.0 (单位:千美元)

获取选项

Prop类型说明自兹
keystring从存储取回值的密钥 .1.0.0 (单位:千美元)

设置选项

Prop类型说明自兹
keystring与存储中设置的值关联的密钥 .1.0.0 (单位:千美元)
valuestring使用相关密钥设置的值 .1.0.0 (单位:千美元)

删除选项

Prop类型说明自兹
keystring从存储中删除值的密钥 .1.0.0 (单位:千美元)

密钥结果

Prop类型说明自兹
keysstring[]已知存储的密钥 .1.0.0 (单位:千美元)

迁移结果

Prop类型说明自兹
migratedstring[]已迁移的一系列密钥 .1.0.0 (单位:千美元)
existingstring[]在 Capacitor 2 存储插件中具有值的已迁移或以其他方式存在于存储中的密钥数组 .1.0.0 (单位:千美元)

版本与发布记录

@capacitor/storage 共发布 29 个版本,首次发布于 2020/09/01;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.2.5latest2022/03/044 年前
1.2.42022/01/204 年前
1.2.32021/11/035 年前
1.2.22021/10/155 年前
1.2.02021/09/165 年前
1.1.02021/09/025 年前

关于 @capacitor/storage 的常见问题

@capacitor/storage 是什么?

存储API为轻量级数据提供了一个简单的密钥/值持续存储.注意:该包已被作者标记为弃用——package has been renamed to @capacitor/preferences

如何安装 @capacitor/storage?

在项目目录运行 npm install @capacitor/storage,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(^3.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capacitor/storage 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@capacitor/storage 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@capacitor/storage 可以商用吗?

@capacitor/storage 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@capacitor/storage 的下载量有多少?

根据 npm 官方下载统计,@capacitor/storage 在 2026/10/09 – 2026/11/07 这 30 天内被下载 21,907 次,日均约 730 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@capacitor/storage 还在维护吗?

最新版本 1.2.5 发布于 2022/03/04(4 年前);至今共发布 29 个版本,其中过去 12 个月发布了 0 个;首次发布于 2020/09/01。作者已将其标记为弃用,新项目建议寻找替代方案。