在electron中使用sqlite:sql.js简介
在electron中使用sqlite:sql.js简介
在开发electron应用的时候如果想要使用sqlite3,步骤上除了npm安装以外还要rebuild,比较麻烦。如果你想找一个开箱即用的sql库,那么sql.js将是个不错的选择。sql.js是sqlite的Webassembly版,使用上和sqlite基本没有区别。
sql.js支持浏览器端直接引入cdn,也支持npm导入。
不过如果用import语句导入的话要注意不推荐直接导入sql.js,这样导入的是sql-wasm.js文件,即WebAssembly版,引入这个文件的话会去请求sql-wasm.wasm(WebAssembly二进制文件)。如果没有请求到这个文件的话会报错。所以我们可以引入asm版的sql.js,就可以免去请求二进制文件这一步骤。
成功引入sql.js后需要先实例化数据库:
import * as InitSQL from 'sql.js/dist/sql-asm'
InitSQL().then((SQL: any) => {
const dbExist = Utils.fileExist(dbFileName)
const db = dbExist ?
new SQL.Database(fs.readFileSync(dbFileName)) :
new SQL.Database()
}
获得数据库实例后接下来就可以增删改查了。其他的都可以在官方github和documentation里找到。
https://github.com/kripken/sql.js
http://kripken.github.io/sql.js/documentation/#http://kripken.github.io/sql.js/documentation/class/Database.html