@capgo/capacitor-fast-sql

中文文档
8.3.1发布于 2026/11/09MPL-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 4.2万

具有自定义协议的高性能本地 SQLite 插件,用于高效同步操作和索引 DB 替换

中文使用文档
文档目录33 节
  1. *免费开始*
  2. 主要特点
  3. 为什么是SQL快?
  4. 文档
  5. 兼容性
  6. 安装
  7. 概览
  8. 关键特性
  9. iOS 配置
  10. Android 配置
  11. 加密
  12. 机器人
  13. iOS系统
  14. 网络平台
  15. 使用量
  16. 基本示例
  17. 交易示例
  18. 批量操作
  19. 关键值存储(以移动为重点的)
  20. RAG 矢量存储器(可选)
  21. API 密码
  22. 连接(...)
  23. 断开(...)
  24. 获取ServerInfo(...)
  25. 执行(...)
  26. 开始交易(...)
  27. 执行交易(...)
  28. 回滚变换(...)
  29. 获取 PluginVersion ()
  30. 配置Web (...)
  31. 接口
  32. 类型异名
  33. 数字

@ capgo/ 电容- fast- sql

在您的 Capacitor app 中快速运行 SQLite : 查询会通过一个本地的 HTTP 通道而不是桥, 因此大结果集和同步任务保持快速 。 用可选的加密方式替换索引数据库.

Capgo - Build Capacitor apps with AI, ship updates instantly

队长:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

*免费开始*

14天无限自由审判. 不需要信用卡

🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 @capgo/capacitor-fast-sql 在您的电容应用程序中: npx skills add Cap-go/capgo-skills。然后问你的经纪人: 加上@capgo/capor-fast-sql到我的Capacitor应用上 代理设置指南 • 妇女 主机磁共振

@capgo/capacitor-fast-sql for Capacitor apps

主要特点

  • 快速路径数字 : connect() 打开数据库并启动本地服务器, getServerInfo() 返回其端口和直接调用符号.
  • SQL 组合键数字 : execute() 运行带有参数的语句,加上批量操作.
  • 交易数字 : beginTransaction(), (中文(简体) ), commitTransaction() 财务报告和审定财务报表 rollbackTransaction()。 。 。 .
  • 加密:通过SQLCipher在iOS和Android上的可选加密数据库.
  • 网页数字 : configureWeb() 设置正式的 SQLite Wasm 模块,当您的服务器允许时, OPFS 将持续 .
  • 平台:iOS,Android和Web. iOS和Android上的原生SQLite,网络上的SQLite Wasm.

为什么是SQL快?

传统的Capacitor插件通过JavaScript桥将数据序列化,随着大型数据集的出现而变得效率低下. Fast SQL通过建立本地的HTTP服务器直接进行本土通信来解决了这个问题,使它成为:

  • 本地第一同步系统 (CRDT,业务转换)
  • 索引数据库替换 执行中断/受限的平台
  • 大型数据集业务 需要高吞吐量
  • 批量操作 数以千计的行
  • 二进制数据存储 (BLOBs,文档)

文档

这里有最完整的医生: https://capgo.app/docs/plugins/fast-sql/ 互联网档案馆的存檔,存档日期2014-12-21

兼容性

插件版本电容兼容性维护
联合国联合国✅
页:1页:1应要求
页:1页:1❌
页:1页:1❌

说明: 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.

安装

您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :

npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins

然后使用下列提示:

Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-fast-sql` plugin in my project.

如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:

npm install @capgo/capacitor-fast-sql
npx cap sync

概览

此插件直接提供本地的 SQLite 数据库访问权限, 由 : 电容-布洛布写作机. 它不使用Capacitor的标准桥(将数据串行效率低下),而是建立了一个本地的HTTP服务器,用于大数据集和同步操作的最佳性能.

关键特性

  • 自定义 HTTP 协议: Bypasses Capacitor 的桥能以大数据达到25x更快的性能
  • 直接原生 SQLite: 完整 SQL 支持交易、批量操作和二进制数据
  • 同步亲切: 为本地同步系统(CRDT、业务转换等)所设计
  • 索引 DB 替换: 为中断/受限的索引数据库执行提供可靠的替代办法
  • 横线:iOS、Android和Web(使用 @sqlite.org/sqlite-wasm (英语) 与业务方案融资战略的持久性)
  • 可选 RAG 矢量系统: 坚持许多命名的向量存储, 用于回收- 增强生成,而不添加本地依赖性

iOS 配置

此插件运行本地 HTTP 服务器 localhostiOS App Transport Security (ATS) 默认屏蔽清除文本 HTTP, 所以你 必须 允许您的本地网络 Info.plist数字 :

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsLocalNetworking</key>
    <true/>
</dict>

这只允许清晰的文本回回回地址( C)localhost 编号 : 127.0.0.1它不会削弱苯丙胺类兴奋剂的外部联系.

Android 配置

此插件运行本地 HTTP 服务器 localhost 绕过Capacitor的桥进行表演. Android 9+ 块 默认的清除文本( 非 HTTPS) 流量, 所以您 必须 允许它 localhost。 。 。 .

备选案文A, 仅限本地主机(建议):

创建 android/app/src/main/res/xml/network_security_config.xml数字 :

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="false">localhost</domain>
        <domain includeSubdomains="false">127.0.0.1</domain>
    </domain-config>
</network-security-config>

那就在你的书中提及 AndroidManifest.xml数字 :

<application
    android:networkSecurityConfig="@xml/network_security_config">
    ...
</application>

备选案文B, 允许所有清晰文本( 简单但安全性较差 ) :

<application
    android:usesCleartextTraffic="true">
    ...
</application>

加密

机器人

加密用途 SQLCipher 数据 并被选入。 将 SQLCipher 依赖添加到您的 应用程序级 build.gradle数字 :

dependencies {
    implementation 'net.zetetic:sqlcipher-android:4.13.0'
}

然后与加密连接启用 :

const db = await FastSQL.connect({
  database: 'secure',
  encrypted: true,
  encryptionKey: 'my-secret-key',
});

如果 SQLCipher 没有安装 encrypted: true ,插件返回清晰的错误消息而不是崩溃.

iOS系统

SQLCipher在iOS上是可选的. 插件没有它会构建; 加密调用会返回 Encryption is not available in this build 除非安装了 SQLCipher .

要通过 CocoaPods 加密, 请更新您的 ios/App/Podfile 之后 capacitor install编号 :cap sync 以使用 SQLCipher 子规格 :

pod 'CapgoCapacitorFastSql/SQLCipher', :path => '../../node_modules/@capgo/capacitor-fast-sql'

然后运行 pod install 输入 ios/App 目录。 如果您跳过此子规格, 请保留 encrypted: false。 。 。 .

网络平台

在网络上, 此插件使用正式 @sqlite.org/sqlite-wasm (英语) 与 财务处 坚持不懈 SQLite 直接读取并写入数据库文件,它并没有被完全装入RAM或通过索引数据库镜像.

OPFS要工作,您的网络服务器必须发送 Cross-Origin 孤立头:

Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

与 Vite 连接 :

import { defineConfig } from 'vite';

export default defineConfig({
  server: {
    headers: {
      'Cross-Origin-Opener-Policy': 'same-origin',
      'Cross-Origin-Embedder-Policy': 'require-corp',
    },
  },
  optimizeDeps: {
    exclude: ['@sqlite.org/sqlite-wasm'],
  },
});

可选的网络配置( 第一次访问前) connect():

import { CapgoCapacitorFastSql, FastSQL } from '@capgo/capacitor-fast-sql';

await CapgoCapacitorFastSql.configureWeb({
  useOpfs: true,
});

const db = await FastSQL.connect({ database: 'myapp' });

configureWeb() 是iOS和Android上的禁用程序 无条件打电话是安全的.

说明: 以前由 sql.js 存储在索引数据库中的现有数据库不会被自动迁移. 必要时在升级后重新播种或导入数据.

使用量

基本示例

import { FastSQL } from '@capgo/capacitor-fast-sql';

// Connect to database
const db = await FastSQL.connect({ database: 'myapp' });

// Create table
await db.execute(`
  CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    email TEXT UNIQUE
  )
`);

// Insert data
const result = await db.run(
  'INSERT INTO users (name, email) VALUES (?, ?)',
  ['John Doe', '[email protected]']
);
console.log('Inserted row ID:', result.insertId);

// Query data
const users = await db.query('SELECT * FROM users WHERE name LIKE ?', ['John%']);
console.log('Users:', users);

// Close connection
await FastSQL.disconnect('myapp');

交易示例

const db = await FastSQL.connect({ database: 'myapp' });

try {
  await db.transaction(async (tx) => {
    await tx.run('INSERT INTO accounts (name, balance) VALUES (?, ?)', ['Alice', 1000]);
    await tx.run('INSERT INTO accounts (name, balance) VALUES (?, ?)', ['Bob', 500]);
    await tx.run('UPDATE accounts SET balance = balance - 100 WHERE name = ?', ['Alice']);
    await tx.run('UPDATE accounts SET balance = balance + 100 WHERE name = ?', ['Bob']);
  });
  console.log('Transaction successful!');
} catch (error) {
  console.error('Transaction failed:', error);
}

批量操作

const db = await FastSQL.connect({ database: 'myapp' });

const results = await db.executeBatch([
  { statement: 'INSERT INTO logs (message) VALUES (?)', params: ['Log 1'] },
  { statement: 'INSERT INTO logs (message) VALUES (?)', params: ['Log 2'] },
  { statement: 'INSERT INTO logs (message) VALUES (?)', params: ['Log 3'] },
]);

关键值存储(以移动为重点的)

import { KeyValueStore } from '@capgo/capacitor-fast-sql';

const kv = await KeyValueStore.open({
  database: 'myapp',
  encrypted: true,
  encryptionKey: 'super-secret-key',
});

await kv.set('session', { token: 'abc123', expiresAt: 1710000000 });
const session = await kv.get('session');
await kv.remove('session');

RAG 矢量存储器(可选)

FastSQLVectorStore 提供不受依赖的矢量相容辅助器 @react-native-rag/op-sqlite。它将嵌入到 SQLite 中作为二进制 Float32 向量存储,并在 TypeScript 中计算同位素相似性,所以它在这个插件工作的任何地点都有效.

每个商店都由 store 选项,因此一个数据库可以按需要持有尽可能多的独立矢量存储:

import { FastSQLVectorStore } from '@capgo/capacitor-fast-sql';

const docs = await FastSQLVectorStore.open({
  database: 'rag',
  store: 'docs',
  embeddings,
});

const tickets = await FastSQLVectorStore.open({
  database: 'rag',
  store: 'tickets',
  embeddings,
});

await docs.add({
  document: 'Capgo ships instant updates for Capacitor apps.',
  metadata: { source: 'docs' },
});

const results = await docs.query({
  queryText: 'How do instant updates work?',
  nResults: 3,
});

await docs.close();
await tickets.close();

您也可以使用没有嵌入提供者的预计算嵌入:

const store = await FastSQLVectorStore.open({
  database: 'rag',
  store: 'offline-embeddings',
  embeddingDimension: 384,
});

await store.add({
  id: 'intro',
  document: 'Local RAG entry',
  embedding: [0.12, 0.08, 0.31 /* ...384 values */],
});

const matches = await store.query({
  queryEmbedding: [0.11, 0.09, 0.29 /* ...384 values */],
  nResults: 5,
});

注:网页支持仅用于最小测试。 主要焦点是iOS/Android.

API 密码

用于高性能 SQLite 数据库访问的快速 SQL 插件 .

此插件使用基于 HTTP 的自定义协议来高效传输数据 , 绕过Capacitor的标准桥,以配合同步操作提高性能.

连接(...)

connect(options: SQLConnectionOptions) => Promise<{ port: number; token: string; database: string; persistent?: boolean; binaryProtocolVersion?: number; }>

初始化数据库连接并启动 HTTP 服务器 .

参数类型说明
optionsSQLConnectionOptions- 连接选项

回返情况: Promise<{ port: number; token: string; database: string; persistent?: boolean; binaryProtocolVersion?: number; }>

自: 0.0.1 资源


断开(...)

disconnect(options: { database: string; }) => Promise<void>

关闭数据库连接并停止HTTP服务器.

参数类型说明
options{ database: string; }- 关闭数据库名称

自: 0.0.1 资源


获取ServerInfo(...)

getServerInfo(options: { database: string; }) => Promise<{ port: number; token: string; persistent?: boolean; binaryProtocolVersion?: number; }>

获取 HTTP 服务器端口和指使符进行直接通信.

参数类型说明
options{ database: string; }- 数据库名称

回返情况: Promise<{ port: number; token: string; persistent?: boolean; binaryProtocolVersion?: number; }>

自: 0.0.1 资源


执行(...)

execute(options: { database: string; statement: string; params?: SQLValue[]; }) => Promise<SQLResult>

通过 Capacitor 桥执行 SQL 查询(用于简单的查询) . 为了在大型数据集中更好的性能,直接通过SQLConnection类使用HTTP协议.

参数类型说明
options{ database: string; statement: string; params?: SQLValue[]; }- 查询参数

回返情况: Promise<SQLResult>

自: 0.0.1 资源


开始交易(...)

beginTransaction(options: { database: string; isolationLevel?: IsolationLevel; }) => Promise<void>

开始数据库交易 .

参数类型说明
options{ database: string; isolationLevel?: IsolationLevel; }- 交易选项

自: 0.0.1 资源


执行交易(...)

commitTransaction(options: { database: string; }) => Promise<void>

提交当前交易 .

参数类型说明
options{ database: string; }- 数据库名称

自: 0.0.1 资源


回滚变换(...)

rollbackTransaction(options: { database: string; }) => Promise<void>

倒转当前交易.

参数类型说明
options{ database: string; }- 数据库名称

自: 0.0.1 资源


获取 PluginVersion ()

getPluginVersion() => Promise<{ version: string; binaryProtocolVersion?: number; }>

获取本地 Capacitor 插件版本 .

回返情况: Promise<{ version: string; binaryProtocolVersion?: number; }>

自: 0.0.1 资源


配置Web (...)

configureWeb(config: WebConfig) => Promise<void>

为正式的SQLite Wasm模块配置网络专用选项.

叫这个 在此之前 首个 connect() 如果您需要禁用 OPFS 调用 或提供定制工人。 这种方法是iOS和Android上的禁用.

参数类型说明
configWebConfig- 网页配置选项

自: 0.0.1 资源


接口

SQLC 选项

数据库连接选项

Prop类型说明默认自兹
transportNativeSQLTransport原生HTTP数据编码. 二进制 v1 发送 BLOB 作为原始字节没有基数64. Opt-in on iOS/Android;需要本地插件来广告二进制 v1. JSON仍然是默认的. 二进制是实验性的;只在设备性能和相容性测试之后的将来主机中重新考虑默认. 没有失败的写入会在另一个传输上重试 .'http-json'
databasestring数据库名称( 文件将在 app 数据目录中创建)
encryptedboolean启用加密( 只有iOS/ Android)
encryptionKeystring加密密钥( 如果加密为真实则需要)
readOnlyboolean打开现有的本地数据库只读 。 写入和缺失文件打开失败 。 WAL 模式更改会跳过只读连接 。 Web Worker 传输拒绝此选项, 而不是默开可写 .
walModeboolean启用 WAL( Write-Ahead Digging) 日记模式, 以便更好的货币和性能 。 执行 PRAGMA journal_mode = WAL 在打开数据库后立即打开.8.0.49 (中文(简体) )
performancePresetsboolean打开数据库后应用推荐的 SQLite 性能 PRAGMAs : synchronous = NORMAL, (中文(简体) ), busy_timeout = 5000, (中文(简体) ), cache_size = -2000,以及 foreign_keys = ON。 。 。 .8.0.49 (中文(简体) )

SQL 结果

SQL 查询执行的结果

Prop类型说明
rowsSQLRow[]通过查询返回行( 对于 SELECT 语句)
rowsAffectednumber受查询影响的行数(对于INSERT/UPDATE/DELETE)
insertIdnumber最后一个插入行的ID(用于自动递增的INSERT语句)

SQLRow 图像

SQL 行结果 - 按列名索引的值

Uint8 阵列

一个8位无符号整数的打出数组。 内容初始化为0. 如果 无法分配请求的字节数 .

Prop类型说明
BYTES_PER_ELEMENTnumber数组中每个元素的字节大小.
bufferArrayBufferLike这个 矩阵缓冲 实例.
byteLengthnumber数组的字节长度 .
byteOffsetnumber数组的字节相抵.
lengthnumber数组的长度 .
方法签署说明
复制时间(目标:数量,开始:数量,结束?:数量:qq未定义) =>此复制开始和结束所识别的数组的一部分, 从位置目标开始返回到相同的数组后返回此对象
每个(数值:数字,指数:数字,数组: Uint8 阵列未知,这个Arg确定一个数组的所有成员是否都满足指定的测试.
填满(数值:数字,起始数?:数字:qq未定义,结束?:数字:qq未定义)=>此填入以数值开始和结束的段落后返回此对象
过滤器(数值:数字,指数:数字,数组: Uint8 阵列任何,这个Arg Uint8 阵列返回符合召回函数中指定条件的数组元素.
寻找(数值:数字,指数:数字,obj: Uint8 阵列)"布尔",此Arg?:有)"QQ"数字未定义"返回数组中第一个元素的数值,其中上游是真实的,而未另作定义.
查找Index 数据(数值:数字,指数:数字,obj: Uint8 阵列- 布尔,这个Arg返回数组中第一个元素的索引,其中上游为真,否则为 -1.
每个(召回fn:(数值:数字,索引:数字,数组:) Uint8 阵列虚空,这个Arg? 无效为数组中的每个元素执行指定的动作.
索引(搜索元素:号码,来自Index?:号码QQ未定义)QQ号码返回数组中第一个值的索引.
加入时(分隔符?:字符串 qq未定义) qq字符串添加由指定的分隔符字符串分隔的数组的所有元素.
最后一个 索引(搜索元素:号码,来自Index?:号码QQ未定义)QQ号码返回数组中最后一个值出现的索引.
地图(召回fn:(数值:数字,索引:数字,数组:) Uint8 阵列号码,这个Arg Uint8 阵列在一个数组的每个元素上调用定义的回调函数,并返回包含结果的数组.
减少(召回: (上一个数值: 数字, 当前数值: 数字, 当前索引: 数字, 数组 :) Uint8 阵列) qq号码 qq号码为数组中的所有元素调用指定的调用函数。 召回函数的返回值是累积结果,在召回函数的下个调取中作为参数提供.
减少(召回: (上一个数值: 数字, 当前数值: 数字, 当前索引: 数字, 数组 :) Uint8 阵列) QQ数字,初等值: 数字 QQ数字
减少<U>(召回: (先前的值: U, 当前值: 数, 当前Index: 数, 数组 :) Uint8 阵列)"U","初华":"U"为数组中的所有元素调用指定的调用函数。 召回函数的返回值是累积结果,在召回函数的下个调取中作为参数提供.
减少右边(召回: (上一个数值: 数字, 当前数值: 数字, 当前索引: 数字, 数组 :) Uint8 阵列) qq号码 qq号码调用一个数组中所有元素的指定调用函数, 按下行顺序。 召回函数的返回值是累积结果,在召回函数的下个调取中作为参数提供.
减少右边(召回: (上一个数值: 数字, 当前数值: 数字, 当前索引: 数字, 数组 :) Uint8 阵列) QQ数字,初等值: 数字 QQ数字
减少右边<U>(召回: (先前的值: U, 当前值: 数, 当前Index: 数, 数组 :) Uint8 阵列)"U","初华":"U"调用一个数组中所有元素的指定调用函数, 按下行顺序。 召回函数的返回值是累积结果,在召回函数的下个调取中作为参数提供.
倒转(单位:千美元) Uint8 阵列反转矩阵中的元素.
设定(阵列 : 矩阵类似< 数字> , 偏移 ? : 数字 qq 未定义 qq 无效设置一个值或数组值.
切开(开始? :数字qq未定义,结束?:数字qq未定义)qq Uint8 阵列返回数组的一节.
有点(数值:数字,指数:数字,数组: Uint8 阵列未知,这个Arg确定指定的召回函数是否为数组中的任何元素返回真实.
排序(比较Fn?): ((a: 数字,b: 数字) * * * * * 数字) * * * 未定义) * * * * * *排序数组.
子阵列(开始?):数字qq未定义,结束?:数字qq未定义)qq Uint8 阵列获得新的 Uint8 阵列 意见 矩阵缓冲 存储此数组,并引用起始、包含、上至结尾、独有的元素.
转到本地结构() qq 字符串使用当前语言将数字转换为字符串.
倒数() qq 字符串返回数组的字符串表示式.
值(单位:千美元) Uint8 阵列返回指定对象的原始值.

矩阵类似

Prop类型
lengthnumber

矩阵缓冲键

允许 矩阵缓冲 arrayBufferView 和相关类型矩阵的缓冲类型.

Prop类型
ArrayBufferArrayBuffer

矩阵缓冲

代表二进制数据的原始缓冲,用于存储数据 不同键入数组。 无法直接读取或写入矩阵缓冲器, 但是可以传递到一个被键入的数组或 DataView 对象来解释原始 视需要进行缓冲.

Prop类型说明
byteLengthnumber唯相读取. 长度 矩阵缓冲 (以字节表示).
方法签署说明
切开(开始:数字,结束? 数字:没有定义) 矩阵缓冲返回 a 的一节 矩阵缓冲。 。 。 .

网络配置

官方SQLite Wasm模块的Web平台配置. 使用方式 configureWeb() 第一次选举之前 connect()。 。 。 .

OPFS的持久性需要您网络服务器上的 Cross-Origin 隔离头: Cross-Origin-Opener-Policy: same-origin 财务报告和审定财务报表 Cross-Origin-Embedder-Policy: require-corp。 。 。 .

Prop类型说明默认
useOpfsboolean偏好通过 Web Worker( 默认 ) 选择 OPFS 持久性 : true) (中文(简体) ). 当 OPFS 不可用时,插件会倒回非持久性数据库并记录一个警告.true
requirePersistenceboolean拒绝网络连接, 除非工人确认持续存储 。 兼容性默认为虚假 。 考虑在下一个Capacitor主要课程中要求默认持续,而不是改变未成年人的倒置行为.false
workerSqliteWebWorkerSQLite Wasm 的自定义工人实例或工厂。 高级: 覆盖默认工人 @sqlite.org/sqlite-wasm。 。 。 .

类型异名

本地SQL 运输

原生HTTP数据编码. JSON仍然是兼容默认.

'http-json' | 'http-binary'

质量

插件支持的 SQL 值类型

string | number | boolean | null | Uint8Array

矩阵缓冲像

ArrayBufferTypes[keyof ArrayBufferTypes]

Sqlite 网络工人

浏览器 Worker 实例或返回一个的厂家 . 曾经覆盖默认的 SQLite Wasm 工人 .

Worker | (() => Worker)

数字

隔离级别

成员数值
ReadUncommitted'READ UNCOMMITTED'
ReadCommitted'READ COMMITTED'
RepeatableRead'REPEATABLE READ'
Serializable'SERIALIZABLE'

版本与发布记录

@capgo/capacitor-fast-sql 共发布 78 个版本,首次发布于 2025/10/29;过去 12 个月发布了 72 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.3.1latest2026/11/09今天
8.3.02026/11/081 天前
8.2.182026/11/081 天前
8.2.172026/11/081 天前
8.2.162026/11/027 天前
8.2.152026/10/2613 天前

关于 @capgo/capacitor-fast-sql 的常见问题

@capgo/capacitor-fast-sql 是什么?

具有自定义协议的高性能本地 SQLite 插件,用于高效同步操作和索引 DB 替换

如何安装 @capgo/capacitor-fast-sql?

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

@capgo/capacitor-fast-sql 支持 TypeScript 吗?

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

@capgo/capacitor-fast-sql 支持 ESM 还是 CommonJS?

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

@capgo/capacitor-fast-sql 可以商用吗?

@capgo/capacitor-fast-sql 使用 MPL-2.0 许可。弱 Copyleft:可以商用,也可以和闭源代码一起使用;但如果分发时修改了 MPL 授权的文件,这些文件的修改需以 MPL 开源。以上为概括,不构成法律意见,请以许可原文为准。

@capgo/capacitor-fast-sql 的下载量有多少?

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

@capgo/capacitor-fast-sql 还在维护吗?

最新版本 8.3.1 发布于 2026/11/09(今天);至今共发布 78 个版本,其中过去 12 个月发布了 72 个;首次发布于 2025/10/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。