IndexedDB 库 渐进式 Web App 阅读笔记

IndexedDB 库 渐进式 Web App

PWA 相关资料

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
let dbVersion = 1;
let dbName = 'test';
let idb = window.indexedDB.open(dbName, dbVersion);
idb.onerror = (evt) => {
console.log('failed created indexDB');
}
idb.onupgradeneeded = function(evt) {
let db = evt.target.result;
let keypath = 'test-unique';
let store = db.createObjectStore('customers', {
keypath
})
store.createIndex("name", "name", {
unique: false
});
store.createIndex("email", "email", {
unique: true
});
let transaction = db.transaction(["customers"], "readwrite");
}
//删除idb
let delRequest = window.indexedDB.deleteDatabase(dbName);
delRequest.onerror = function(evt) {
console.log('Error delelting database')
}
delRequest.onsuccess = function(evt) {
console.log(`Delelted database successfully ${delRequest.result}`);
console.log(delRequest.result);
}
console.log(delRequest.readyState) //pending

支持插件

idb-keyval :提供 Promise, key-value 支持
dexie: 提供Promises,复杂查询、辅助索引

参考资料

MDN IDBIndex
使用 IndexedDB