将真正的 SQLite 引入浏览器,使用 OPFS 🚀
发布: (2025年12月21日 GMT+8 23:47)
2 min read
原文: Dev.to
Source: Dev.to

问题
多年来,我们一直在 localStorage(5 MB 限制)之上模拟 SQL,或使用 IndexedDB(API 繁琐)。现代 Web 应用需要更强大的能力。
解决方案:web-sqlite-js
web-sqlite-js 是一个轻量级包装器,基于 SQLite WASM 和 Origin Private File System (OPFS)。它为你提供一个持久、高性能的数据库,直接运行在浏览器中。
关键特性
- 真正的 SQLite – 完整支持 JOIN、事务和触发器。
- 持久化 – 数据保存到浏览器的文件系统(OPFS)。
- 非阻塞 – 在 Web Worker 中运行,保持 UI 60 fps。
- 类型安全 – 一流的 TypeScript 支持。
快速开始
npm install web-sqlite-js
import openDB from "web-sqlite-js";
const db = await openDB("my-app.sqlite3");
// 标准 SQL
await db.exec("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)");
await db.exec("INSERT INTO users (name) VALUES (?)", ["Alice"]);
// 复杂查询
const users = await db.query("SELECT * FROM users ORDER BY name ASC");
await db.close();
在 GitHub 上查看:
Tags: javascript typescript webdev sqlite