在electron中使用sqlite:sql.js简介

Posted axel10

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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

以上是关于在electron中使用sqlite:sql.js简介的主要内容,如果未能解决你的问题,请参考以下文章

在 Angular + Electron 应用程序中使用 better-sqlite3:模块解析失败:意外字符

在生产模式 Electron + Angular 下找不到 sqlite 文件

在 Angular + Electron 应用程序中使用 sqlite3:关键依赖项:依赖项的请求是一个表达式

Electron JS + SQLite 数据库

electron引入Sqlite3重新编译的问题

electron添加SQLite数据库