qq_49213457 2023-05-15 17:56 采纳率: 0%
浏览 19

electron+sqlite3+serialport实现桌面端应用

最近在写一个elrctron的桌面端应用,由于里面用到了串口通信,主要就使用了SerialPort、sqlite3两个依赖,魔幻的问题来了

img

只要用了SerialPort就会报错,去掉这行代码项目就能正常运行

img

npx electron-rebuild的时候他又会报这个问题

img

然后去网上找解决办法,结果都是让我去配置文件里面添加各种loader,当然是没有解决,经历了修改electron版本,python和c++环境一系列操作之后我实在没有解决办法了,想问下有没有朋友碰到过类似的问题可以解答一下

  • 写回答

1条回答 默认 最新

  • 技术宅program 2023-05-17 15:25
    关注

    lectron + sqlite3 + serialport 可以实现一个桌面端应用,具体步骤如下:

    1. 初始化项目
      使用 electron-forge 或 electron-builder 初始化项目
      bash
      npm install -g electron-forge
      electron-forge init my-app
    2. 安装依赖
      bash
      npm install sqlite3 serialport
      sqlite3 用于数据库操作
      serialport 用于串口通信
    3. 主进程 - 数据库连接和串口实例
      在主进程中创建数据库连接和监听串口数据
    js
    const sqlite3 = require('sqlite3').verbose();
    const db = new sqlite3.Database('./db.sqlite');
    
    const SerialPort = require('serialport');
    const port = new SerialPort('/dev/tty-usbserial1');
    port.on('data', data => {
      // 收到串口数据
    });
    
    
    1. 渲染进程 - 实现UI
      使用 Electron API 在渲染进程实现UI
    • 菜单、工具栏
    • DOM元素
    • IPC 与主进程通信
    js
    const { ipcRenderer } = require('electron')
    
    let input = document.querySelector('input') 
    input.addEventListener('keyup', () => {
      ipcRenderer.send('input-change', input.value)
    })
    
    ipcRenderer.on('port-data', (event, data) => {
      // 收到主进程推送的串口数据,更新UI
    }) 
    
    
    1. 主进程接收渲染进程消息,执行对应方法
    js
    ipcMain.on('input-change', (event, inputValue) => {
      // 对数据库或串口操作  
    })
    
    
    1. 打包和发布
      使用 electron-forge 或 electron-builder 打包你的应用,生成安装文件,供用户下载安装。
      bash
      electron-forge make

    该方法可以打包出 Windows (.exe), macOS (.dmg/.pkg) 和 Linux (.deb/.rpm) 安装文件。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月15日

悬赏问题

  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 找一个QT页面+目标识别(行人检测)的开源项目
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错