我们在Electron中构建客户端应用,免不了要使用数据库,而看遍种种前端数据库,也只有indexDBmySQLSQLite能够满足项目使用要求。经过一系列的性能测试与踩坑之旅,发现SQLite还是较优于其他两种。
本文为在业务流程中使用sql.js的一点小技巧,并非对其原理的深刻研究,如有错误还请诸位海涵。

1.Electron中使用sql.js操纵SQLite数据库

sql.js(https://github.com/kripken/sql.js)通过使用Emscripten编译SQLite C代码,将SQLite移植到Webassembly。 它使用存储在内存中的虚拟数据库文件,因此不会保留对数据库所做的更改。 但是,它允许您导入任何现有的sqlite文件,并将创建的数据库导出为JavaScript类型的数组。
这里没有C绑定或node-gyp编译,sql.js是一个简单的JavaScript文件,可以像任何传统的JavaScript库一样使用。 如果您正在JavaScript中构建本机应用程序(例如,使用Electron),或者在node.js中工作,则您可能更喜欢使用SQLite与JavaScript的本地绑定。

2.安装sql.js

本文所使用的sql.js版本为1.4.0。
**npm install sql.js --save**

3.使用sql.js

1.创建SQLite数据库

code.png
(引入wasm文件极其重要,稍后我们将专门配置它)

2.创建SQLite数据表

code2.png

3.导出SQLite数据库于本地

code3.png