@effect/wa-sqlite

中文文档
0.2.1发布于 2025/08/27TypeScriptES Module零依赖近 30 天下载 3.9万

wa-sqlite CI

中文使用文档
文档目录4 节
  1. 构建
  2. API 密码
  3. 演示
  4. 许可证

wa-sqlite CI

瓦克丽特

这是 SQLite 的 Web Assembly 构建,支持将 SQLite 虚拟文件系统完全用 Javascript 写入 。 这允许其他浏览器存储选项,如索引DB和Origin Private File System. 应用程序可以选择使用同步或同步(使用Asyncify或JSPI)SQLite库构建(同步扩展需要同步构建).

IndexedDB和几个Origin Privative File System虚拟文件系统是作为概念证明提供的例子之一. 比较不同VFS类的表格是 这里。 。 。 .

尝试演示 运行 基准 有现代桌面网页浏览器。 更多信息可在以下网站获取: 财务问题, (中文(简体) ), 讨论论坛,以及 API 参考。 。 。 .

构建

这个项目的主要动机是允许只使用Javascript的 SQLite 添加. 大多数开发者应当能够使用预建的文物 ./dist 语句。 。 。 . 请注意,项目较早的版本仅提供了预建文物 "无建"分行;该分行将不再保留.

小型构建定制(例如更改构建定义或旗帜)可以使用 提出参数帮助项目 斯克瓦布语name 可用于没有本地建设环境的建设.

如果你真的想建设自己,这里的前提条件是:

  • 基于Debian Linux已知可行,与其他平台的相容性未知.
  • yarn - 如果使用不同的软件包管理器(例如:. npm然后演示中的文件路径需要调整 .
  • 标记 SDK 3.1.61+ (中文(简体) ).
  • curl, (中文(简体) ), make, (中文(简体) ), openssl, (中文(简体) ), sed, (中文(简体) ), tclsh, (中文(简体) ), unzip

以下是建设步骤:

  • 确保 emcc 工作时.
  • git clone [email protected]:rhashimoto/wa-sqlite.git
  • cd wa-sqlite
  • yarn install
  • make

默认构建生成 ES6 模块 + WASM, 同步和同步 (使用Asyncify和JSPI) 输入 dist/。 。 。 .

API 密码

提供了核心SQLITE C API功能的Javascript包装符(和其他一些). 还提供了一些便利功能来减少锅炉板. 以下是装入库并拨打API的样本代码:

  import SQLiteESMFactory from 'wa-sqlite/dist/wa-sqlite.mjs';
  import * as SQLite from 'wa-sqlite';

  async function hello() {
    const module = await SQLiteESMFactory();
    const sqlite3 = SQLite.Factory(module);
    const db = await sqlite3.open_v2('myDB');
    await sqlite3.exec(db, `SELECT 'Hello, world!'`, (row, columns) => {
      console.log(row);
    });
    await sqlite3.close(db);
  }

  hello();

有一个比较复杂的例子 这里 也显示如何使用虚拟文件系统进行持续存储.

这个 执行情况 sqlite3.exec 任何希望更精细地使用 SQLite 语句对象的人可能感兴趣(如绑定参数,明列数据类型等).

API 参考

演示

要从源树直接为演示服务:

  • yarn start
  • 在 http://localhost:8000/demo/?building=asyncify&config=IDBBatchAtomicVFS&reset上打开浏览器

演示页提供对多个VFS执行上的数据库的访问. 演示页 URL 上的查询参数可用于指定配置和初始状态 :

参数目的数值默认
构建标记构建类型默认、 同步、 jspi默认
配置选择 VFS内存VFS、内存AsyncVFS、IDBBatchAtomicVFS、IDBMirrorVFS、AccessHandlePoolVFS、OPFSAdaptiveVFS、OPFSAnyContextVFS、OPFSCoopSyncVFS、OPFSPermutedVFS使用 SQLite 内部内存
重设清除持久性存储

为了方便,如果编辑器中选择了任何文本区域,则只执行该区域. 此外,编辑器内容在跨页面再装入时会使用浏览器localStorage恢复.

许可证

从2023年2月10日起 车队设备管理 财务报告和审定财务报表 反映。 。 。 . 现有被许可人可以继续使用GPLv3或换入新许可.

版本与发布记录

@effect/wa-sqlite 共发布 5 个版本,首次发布于 2024/11/14;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.2.1latest2025/08/271.2 年前
0.2.02025/08/271.2 年前
0.1.22024/11/142 年前
0.1.12024/11/142 年前
0.1.02024/11/142 年前

关于 @effect/wa-sqlite 的常见问题

如何安装 @effect/wa-sqlite?

在项目目录运行 npm install @effect/wa-sqlite,或使用 pnpm add / yarn add / bun add。

@effect/wa-sqlite 支持 TypeScript 吗?

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

@effect/wa-sqlite 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@effect/wa-sqlite 可以商用吗?

@effect/wa-sqlite 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@effect/wa-sqlite 的下载量有多少?

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

@effect/wa-sqlite 还在维护吗?

最新版本 0.2.1 发布于 2025/08/27(1.2 年前);至今共发布 5 个版本,其中过去 12 个月发布了 0 个;首次发布于 2024/11/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。