lectron + sqlite3 + serialport 可以实现一个桌面端应用,具体步骤如下:
- 初始化项目
使用 electron-forge 或 electron-builder 初始化项目
bash
npm install -g electron-forge
electron-forge init my-app - 安装依赖
bash
npm install sqlite3 serialport
sqlite3 用于数据库操作
serialport 用于串口通信 - 主进程 - 数据库连接和串口实例
在主进程中创建数据库连接和监听串口数据
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 => {
// 收到串口数据
});
- 渲染进程 - 实现UI
使用 Electron API 在渲染进程实现UI
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
})
- 主进程接收渲染进程消息,执行对应方法
js
ipcMain.on('input-change', (event, inputValue) => {
// 对数据库或串口操作
})
- 打包和发布
使用 electron-forge 或 electron-builder 打包你的应用,生成安装文件,供用户下载安装。
bash
electron-forge make
该方法可以打包出 Windows (.exe), macOS (.dmg/.pkg) 和 Linux (.deb/.rpm) 安装文件。