什么是Dexie?
这是官网的一句话翻译过来就是IndexedDB 的一个最小化包装(A Minimalistic Wrapper for IndexedDB)
Dexie使用本机IndexedDB API解决了三个主要问题:
模棱两可的错误处理
不好查询
代码复杂性
有使用过indexDB的同学就知道其查询语句的麻烦特别是多条件查询的时候
这是Dexie的官网https://dexie.org/,
安装及使用
1.安装
模块化开发下可以使用npm/cnpm/yarn安装
npm install dexie
2.使用
简单的例子
//模块化开发下需要引入该组件
import Dexie from 'dexie'
//创建一个数据库 若数据库已存在则为打开
//打开数据库时,会判断当前version值是否大于已经存在的version值,若大于则会upgrade即升到最高版本
var db = new Dexie("test_db");
db.version(1).stores({
student: 'name,age'
});
db.open()
//写入一些数据
db.student.put({name: "小明", age: 18}).then (function(){
//当数据存储完成后 我们可以读取它
return db.student.get('小明');
}).then(function (data) {
console.log("我是小明,今年 " + data.age);
}).catch(function(error) {
//最后别忘了抓住任何可能发生在上面的代码块。
console.log("error: " + error);
db.close()
});
db.close()
API
1.创建数据库
//注意:不要像在SQL中那样声明所有列。只声明要索引的属性,即要在where(…)查询中使用的属性。
var db = new Dexie("MyDatabase");
db.version(1).stores({
friends: "++id, name, age, *tags",
gameSessions: "id, score"
});
2.语法
++ 自动递增主键
& 唯一主键
- 多条目索引
- 复合索引
网友评论