当前位置: 首页 > news >正文

vue+electron ipc+sql相关开发(三)

在 Electron 中使用 IPC(Inter-Process Communication)与 SQLite 数据库进行通信是一个常见的模式,特别是在需要将数据库操作从渲染进程(Vue.js)移到主进程(Electron)的情况下。这样可以更好地管理数据库连接和提高安全性。下一篇介绍结合axios写成通用接口形式,虽然没啥卵用(个人觉得),只是前端调用好看╮(╯▽╰)╭
建议将读取固定安装路径的数据改成,在运行程序时在C盘用户目录下创建sql文件,避免后期程序更新或删除程序把数据库一块清掉的问题

文章目录

      • **1. 项目初始化**
        • **1.1 创建 Vue 项目**
        • **1.2 安装 Electron**
      • **2. 安装 SQLite 库**
        • **2.1 安装 `sqlite3` 库**
      • **3. 配置 Electron**
        • **3.1 修改 `background.js`**
      • **4. 配置 Preload 脚本**
        • **4.1 创建 `preload.js`**
      • **5. 在 Vue 组件中使用 IPC**
        • **5.1 创建一个 Vue 组件**
        • **5.2 编写组件代码**
      • **6. 配置 Vue Router**
        • **6.1 安装 Vue Router**
        • **6.2 配置路由**
      • **7. 运行项目**
        • **7.1 启动开发服务器**
        • **7.2 构建 Electron 应用**
      • **总结**

1. 项目初始化

1.1 创建 Vue 项目

使用 Vue CLI 创建一个新的 Vue 项目。

npm install -g @vue/cli
vue create my-electron-app
cd my-electron-app
1.2 安装 Electron

在 Vue 项目中安装 Electron。

vue add electron-builder

2. 安装 SQLite 库

2.1 安装 sqlite3

使用 sqlite3 库来操作 SQLite 数据库。

npm install sqlite3

3. 配置 Electron

3.1 修改 background.js

background.js 中配置 Electron 的主进程,并设置 IPC 通信。数据库部分最好另写文件,格式好点,后期也好改,但我懒(* ̄rǒ ̄)

const { app, BrowserWindow, ipcMain } = require('electron');
const path = require('path');
const sqlite3 = require('sqlite3').verbose();let mainWindow;function createWindow() {mainWindow = new BrowserWindow({width: 800,height: 600,webPreferences: {preload: path.join(__dirname, 'preload.js'),nodeIntegration: true, // 允许使用 Node.js APIcontextIsolation: false // 禁用上下文隔离}});mainWindow.loadURL(process.env.WEBPACK_DEV_SERVER_URL || `file://

相关文章:

  • C实现md5功能
  • 跟着尚硅谷学vue-day4
  • [bug]langchain agent报错Invalid Format: Missing ‘Action Input:‘ after ‘Action:‘
  • 解决splice改变原数组的BUG(拷贝数据)
  • LLamaIndex中经常使用的三个模块
  • 仿 ElementUI 搭建自己的 vue 组件库
  • Selenium入门之环境搭建
  • 2023 (ICPC) Jiangxi Provincial Contest ABCHIJKL
  • Linux内核内存管理单元 详解Linux 内核伙伴系统(Buddy System)的快速路径分配函数get_page_from_freelist
  • LeetCode 2537.统计好子数组的数目:滑动窗口(双指针)
  • HackMyVM - TryHarder
  • Linux》》bash 、sh 执行脚本
  • 大厂面试:六大排序
  • 各种排序算法
  • 从 BI 与 SQL2API 的差异,看数据技术的多元发展路径
  • 网络原理 - 初识网络 1
  • vue3.2 + element-plus 实现跟随input输入框的弹框,弹框里可以分组或tab形式显示选项
  • 操作系统之shell实现(上)
  • 力扣DAY52-54 | 热100 | 图论:腐烂的橘子、课程表、前缀树
  • 解决Flutter 2.10.5在升级Xcode 16后的各种报错
  • 西安曲江文化园区建设开发有限公司网站/农夫山泉软文300字
  • 专门做外贸的网站有哪些/网站维护需要学什么
  • 中国网通做网站/一个产品的市场营销策划方案
  • 昆山做网站找哪家好/设计网站排名
  • 网站建设 紧急检查工作/策划方案
  • 成都b2c网站/免费的网页网站