基于IndexeDB强大但难用的特点,一个开发者友好的库 GoDB.js

安装
npm install godb
创建库连接,创建表
import GoDB from 'godb';
// 表约束数据结构 id会自动生成我们不需要定义
const tables = {
  // 用户
  user: {
    name: {
      type: String, 
      unique: true,// 唯一
    },
    age: Number,
  },

  // 商品
  product: {
    name: {
      type: String,
      unique: true,
    },
    spec: String
  }
}
// 创建库和表
const db = new GoDB( 'testDB', tables );
添加数据
// 添加一条数据 
db.table( 'user' ).add( { name: '小红', age: 22 } );

// 批量添加数据
db.table( 'product' ).addMany( [{ name: '鞋子', spec: '双' },{ name: '裤子', spec: '条' }] );
查询数据
// 通过id查询 
await db.table( 'user' ).get( 1 ) //{"name": "小红","age": 22,"id": 1} 

// 通过key值查询
await db.table( 'user' ).get( { name: '小红' } )  //{"name": "小红","age": 22,"id": 1} 

//查询所有数据
await db.table( 'product' ).getAll() // [{"name":"鞋子","spec":"双","id":1},{"name":"裤子","spec":"条","id":2}]
修改数据
// 需要先查询才能修改
const data = await db.table( 'user' ).get( 1 );

//修改
data.name = 'XiaoHong';

//更新修改数据
db.table( 'user' ).put( data );
删除数据
//通过id删除
db.table( 'product' ).delete( 1 )

// 通过key值删除
db.table( 'product' ).delete( { name:"XiaoHong" } )
结尾

使用IndexedDB的使用会比较繁琐,Godb.js库进行缓存,可以最大化的降低操作难度,如果你有更好方案可在评论区留言!