electron安装操作sqlite3数据库(完整版)

仔细阅读我说的每一个字,要不然你可能会安装不成功。

以下是我解决安装sqlite3数据库的所有操作步骤,前提是,我的电脑已经装有Python3.5和vs2018了。我不知道安装这个sqlite会不会和这个有关,在我查找解决问题的时候,很多博客都提醒要安装,我也不知道要不要安装,如果你一下步骤你没有安装成功,那就可以参考安装一下Python和vs。

1、在操作sqlite3数据库之前你要有一个能运行的electron  Demo。如果没有请参考我的这篇文章。

2、在项目的根目录下运行(cmd最好都是用管理员命令打开的)

npm install sqlite3 --save

目录结构如下:

2、安装以后,发现Electron不能正常使用,会报出很多错误,比如缺少sqlite3模块,找不到,但是明明装了,这里需要对Sqlite3单独编译。

原因是:通过npm安装的sqlite3模块只实现了对node.js原生环境的支持,如果electron需要使用的话必须对其进行二次编辑。
首先进入到安装好的模块sqlite3目录下

cd .\node_modules\sqlite3

运行一下命令:

1 //先运行第一步
2 npm install nan --save
3 //成功在运行这一步
4 npm run prepublish

如果run失败(就是运行npm run prepublish)可以跳过

3、接下来再执行

node-gyp configure --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.4-win32-x64
node-gyp rebuild --target=1.4.13 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/electron/ --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.4-win32-x64

操作注意 一定得看:

第三步标红的代码一定要注意,这个path后面的路径一定要和你调试器内报错的信息一样,我之前安装失败报的错,这个错(第2步)是我在网上找的别人的一个,作为参考。但是错误类型都是一样的,只是后面划红线的地方不一样,你在path后面那个路径改成你自己报错显示的路径即可。

另外 以上命令行是编译的关键,–target代表electron的版本号,不是package.json的electron版本号,访问https://npm.taobao.org/mirrors/atom-shell,查看最新的版本并将其设为target即可;–arch是cpu的位数;–dist-url指定了electron header的下载来源,像之前说的一样,如果你的外网访问速度很快,使用【https://atom.io/download/electron/】也可以。另外注意,path一定要一致。

4、如果你在执行第三步的时候报:

node-gyp不是内部命令,那就是说明,你没有安装node-gyp

4.1安装node-gyp
npm install -g node-gyp

4.2 然后必须以管理员身份运行powershell或者cmd否则以下指令会报错(我上面说了 你最好每一个cmd都是用管理员的身份打开,以免产生不必要的麻烦)

npm install --global --production windows-build-tools

4.3安装成功后再去执行第3步。

5、完毕后再运行【npm run dev】,测试sql语句,这样应该就没问题了。

二、操作sqlite数据库;

在项目中随便创建一个js文件(sqlite3Db.js),里面代码如下:

 1 // src/renderer/utils/db.js
 2 // 建表脚本,导出db对象供之后使用
 3 import path from ‘path‘;
 4 import sq3 from ‘sqlite3‘;
 5 // import { docDir } from ‘./settings‘;
 6 // 将数据存至系统用户目录,防止用户误删程序
 7 export const dbPath = path.join("F:\\vsCode_Homework\\test01", ‘data.sqlite1‘);
 8
 9 const sqlite3 = sq3.verbose();
10 const db = new sqlite3.Database(dbPath);
11 db.serialize(() => {
12
13  db.run("create table test(name varchar(15))",function(){
14   db.run("insert into test values(‘hello,word‘)",function(){
15     db.all("select * from test",function(err,res){
16       if(!err){
17         console.log(JSON.stringify(res));
18       }
19       else{
20         console.log(err);
21       }
22     });
23   });
24 });
25
26
27 });
28
29 export default db;

然后在渲染进程中引用js

import sqlite3Db from ‘@/components/js/sqlite3Db‘

运行electron,在调试器查看console输出

npm run dev

完工。

 

原文地址:https://www.cnblogs.com/alex96/p/12180296.html

时间: 2024-11-08 21:18:56

electron安装操作sqlite3数据库(完整版)的相关文章

C# .NET更智能的数据库操作的封装完整版(重构)

前述: 第一次发表文章,不过是对数据库简单的封装,主要是阐述下思路.那么在上篇文章,在大家的指导下和提出意见,并自己对代码进行了思考.在这两天我重构了新的框架,我觉得我写的可以称得上框架,为什么?请大家往下看.不过在项目中没有很多注释.笔者除了课余学习时候,大部分时间在完成学校的功课,没有许多时间,所以也就偷下懒,请大家体谅. 这次框架分为几个部分:拼接数据库语句.数据库执行.数据库连接控制.异常类.用户使用的DbHelper.等下我回用文字和图还分析这个部分.经过重构后,类增多了,而且能够极大

sqlite3常用命令以及django如何操作sqlite3数据库

一.如何进入sqlite3交互模式进行命令操作? 1.确认sqlite3是否已经安装 进去python命令行,执行 >>> import sqlite3 >>> 没有报错,说明sqlite3已经成功安装了 2.如何进入sqlite3命令行 sqlite3 /path/to/dbname 直接执行sqlite3 加数据库名即可  ~ sqlite3 ~/Downloads/django_test/cmdb/db.sqlite3  sqlite3SQLite version

python 安装操作 MySQL 数据库.

以ubuntu和mysql为例 检查自己的机器上面有没有安装数据库 1 [email protected]:~$ sudo service mysql start 2 [sudo] xpower 的密码: 尝试输入命令打开 MySQL 不同的版本会有不同的效果 , 我的什么反馈也没有这就说明已经安装并且启动成功了 ( 没有消息就是最好的消息 ) 有的 ubuntu 会有反馈 , 自己看反馈内容 . 很容易判断 . 安装MySQL(安装过程中可能需要填写一点东西 . 建议填写一下 . ) 1 [e

(一一三)使用系统自带框架操作SQLite3数据库

系统自带的框架是基于C语言的,使用比较繁琐. 下面是使用步骤: 首先导入libsqlite3.0.dylib. ①在Document目录下打开数据库,如果没有则创建. NSString *sqlitePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"test.sqlite"

安装wamp环境 最新完整版

Apache 下载地址:https://www.apachehaus.com/cgi-bin/download.plx 下载后 解压目录 放到C:/Program Files下面目录重命名为Apache 进入conf目录编辑httpd.conf 把路径改成Apache目录路径:Define SRVROOT "C:/Program Files/Apache" 控制台cmd切入bin目录 开启Apache服务httpd -k installhttpd -k start (指定名称添加服务

C#中操作XML (修改完整版)

1.新建一个XML文件(bookstore.xml)如下: <?xml version="1.0" encoding="gb2312"?><bookstore>  <book genre="fantasy" ISBN="2-3631-4">    <title>Oberon's Legacy</title>    <author>Corets, Eva&l

C#注册表操作类(完整版)

下面贴出自己用C#写的注册表操作类,欢迎大家拍砖! 1.注册表基项静态域 1 /// <summary> 2 /// 注册表基项静态域 3 /// 4 /// 主要包括: 5 /// 1.Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT主键 6 /// 2.Registry.CurrentUser 对应于HKEY_CURRENT_USER主键 7 /// 3.Registry.LocalMachine 对应于 HKEY_LOCAL_MACHINE主键 8 //

centos7 编译安装nginx1.16.0( 完整版 )

一.安装依赖包 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 依赖包说明: 1.编译依赖 gcc 环境,所以需要:gcc gcc-c++; 2.PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库.nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcr

iOS: 学习笔记, 使用FMDatabase操作sqlite3

使用FMDatabase操作sqlite3数据库非常简单和方便 1 // 2 // main.m 3 // iOSDemo0602_sqlite3 4 // 5 // Created by yao_yu on 14-6-2. 6 // Copyright (c) 2014年 yao_yu. All rights reserved. 7 // 8 9 #import <UIKit/UIKit.h> 10 #import "FMDatabase.h" 11 12 void te