@wbiokr/indexdb
v1.1.0
Published
基于 IndexedDB 的轻量级前端数据库封装库
Downloads
140
Readme
@wbiokr/indexdb
基于 IndexedDB 的轻量级前端数据库封装库
安装
npm install @wbiokr/indexdb引入
// ESM
import WbiokrDB from '@wbiokr/indexdb';
// CJS
const WbiokrDB = require('@wbiokr/indexdb');直接在浏览器中使用(打包后的文件在 dist 目录下):
<script src="./dist/bundle.cjs.js"></script>初始化
const db = WbiokrDB(dbName, version, storeName, keyPath);参数说明
| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| dbName | string | DB-${location.host} | 数据库名称 |
| version | number | 1 | 数据库版本号 |
| storeName | string | STORE-${location.host} | 对象仓库名称 |
| keyPath | string | id | 主键字段名 |
API
1. 插入/更新数据
db(key, data)- 参数:
key: 主键值data: 要存储的数据(对象)
- 返回: Promise
// 示例
await db(1, { name: '张三', age: 25 });
await db('user1', { username: 'test', email: '[email protected]' });2. 查询单条数据
db(key)- 参数:
key: 主键值
- 返回: Promise,解析为存储的数据对象
// 示例
const user = await db(1);
console.log(user); // { name: '张三', age: 25 }3. 查询所有数据
db()- 参数: 无
- 返回: Promise,解析为包含所有数据的数组
// 示例
const allData = await db();
console.log(allData); // [{ id: 1, data: {...} }, { id: 2, data: {...} }]4. 删除指定数据
db.remove(key)- 参数:
key: 主键值
- 返回: Promise
// 示例
await db.remove(1); // 删除主键为 1 的数据完整示例
import WbiokrDB from '@wbiokr/indexdb';
// 初始化数据库
const db = WbiokrDB('myDB', 1, 'users', 'id');
// 插入数据
await db(1, { name: '张三', age: 25 });
await db(2, { name: '李四', age: 30 });
// 查询单条
const user = await db(1);
console.log(user); // { name: '张三', age: 25 }
// 查询所有
const allUsers = await db();
console.log(allUsers);
// 删除数据
await db.remove(1);
// 也可以只传入部分参数使用默认值
const defaultDb = WbiokrDB(); // 使用默认配置浏览器兼容性
- Chrome/Edge/Firefox/Safari/Opera 最新版
- 支持 IndexedDB 的现代浏览器
- 兼容
window.indexedDB、windowwebkitIndexedDB、window.mozIndexedDB、window.msIndexedDB
License
MIT
