在electron中使用sqlite3,win10系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在electron中使用sqlite3,win10系统相关的知识,希望对你有一定的参考价值。
参考技术A 1>安装python(推荐2.7版本),切记将python加入系统环境变量2>安装sqlite3,推荐使用npm安装,不要使用cnpm,cnpm安装的文件存在问题(npm install sqlite3 --save)
3>在package.json中加入"rebuild": "electron-rebuild -f -w sqlite3"
4>在命令行执行npm run rebuild,重新编译sqlite3,执行成功后就可以在electron中使用sqlite3
1>在根目录下生成db文件
const sqlite3 = require('sqlite3').verbose()
const db =new sqlite3.Database('info.db', function()
db.run('create table test(name varchar(15))', function ()
db.run('insert into test values("hello,world")', function ()
db.all('select * from test', function(err, res)
if (!err)
console.log(JSON.stringify(res))
else
console.log(err)
)
)
)
)
2>在指定的文件夹里使用(data文件夹需手动创建)
const sqlite3 = require('sqlite3').verbose()
const path = require('path')
const db =new sqlite3.Database(path.join(__dirname, '../data/info.db'))
db.run('create table test(name varchar(15))', function ()
db.run('insert into test values("hello,world")', function ()
db.all('select * from test', function(err, res)
if (!err)
console.log(JSON.stringify(res))
else
console.log(err)
)
)
)
在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中使用sqlite3,win10系统的主要内容,如果未能解决你的问题,请参考以下文章
在 Angular + Electron 应用程序中使用 sqlite3:关键依赖项:依赖项的请求是一个表达式
如何从 Electron AppImage .mount 点访问 Sqlite3 数据库?