A Minimalistic Wrapper for IndexedDB
( only ~22k minified and gzipped )Need sync?
Create collaborative offline-first apps
Easy to get started
Coming soon: Dexie CloudBETA »
Dexie was written to be straightforward and easy to learn. If you've ever had to work with native IndexedDB then you'll certainly appreciate Dexie's concise API.
What good is any development tool without great documentation? Dexie is thoroughly explained, and examples are available to help you on your way.
Dexie has near-native performance. Its bulk operations utilize an often-overlooked feature in IndexedDB, ignoring success callbacks when possible.
/*
|----------------------------|
| Declare your database |
|----------------------------|
*/
const db = new Dexie('MyDatabase');
// Declare tables, IDs and indexes
db.version(1).stores({
friends: '++id, name, age'
});
/*
|-----------------------|
| Then run some queries |
|-----------------------|
*/
// Find some old friends
const oldFriends = await db.friends
.where('age').above(75)
.toArray();
// or make a new one
await db.friends.add({
name: 'Camilla',
age: 25,
street: 'East 13:th Street',
picture: await getBlob('camilla.png')
});
Offline databases are groovy! But without keeping the database in sync with a server, you're missing a great deal.
Now go make something awesome.