初始化Electron項(xiàng)目
- 新建serialport_demo文件夾源哩,并cd進(jìn)入該文件夾
- 執(zhí)行vue init,按照提示一步一步初始化配置
- 安裝electron依賴項(xiàng)
npm install electron
安裝串口依賴項(xiàng)
- 安裝串口
npm install serialport –save
- 安裝electron-rebuild识腿,因?yàn)榇趲?kù)是npm提供的原生庫(kù),需要使用electron-rebuild重新編譯后才能實(shí)現(xiàn)跨平臺(tái)
npm install –save-dev electron-rebuild
- 配置編譯環(huán)境造壮,需使用管理員權(quán)限運(yùn)行
(如果配置失敗請(qǐng)點(diǎn)擊此處)npm install –global –production windows-build-tools
- 編譯串口庫(kù)
(如果編譯失敗請(qǐng)點(diǎn)擊此處).\node_modules\.bin\electron-rebuild.cmd
編寫業(yè)務(wù)代碼
- 新建index.html文件渡讼,自定義html結(jié)構(gòu)
- 打開(kāi)package.json文件,將其中的index.js改為main.js
- 新建main.js文件耳璧,文件內(nèi)容如下
const Serialport = require("serialport"); const {app, BrowserWindow} = require('electron'); function createWindow() { const win = new BrowserWindow({ width: 800, height: 600 }) win.loadFile('index.html'); } app.whenReady().then(() => { createWindow(); var serialport = new Serialport('COM14', { baudRate: 115200, autoOpen: false }); // 打開(kāi)串口 serialport.open(err => { console.log('IsOpen: ', serialport.isOpen); console.log('Err: ', err); if (!err) { } }); // 監(jiān)聽(tīng)串口數(shù)據(jù) // serialport.on('data', data => { // console.log('data received: ', data) // }) // 獲取串口列表 Serialport.list().then(ports => { ports.forEach(port => { console.log(port.path); console.log(port.serialNumber); console.log(port.pnpId); console.log(port.manufacturer); }); }) })
可能遇到的問(wèn)題
-
<h5 id="build_config_issue">配置編譯環(huán)境時(shí)卡在了Python配置</h5>
導(dǎo)致該問(wèn)題的原因是你的電腦已經(jīng)安裝了Python2.7.15成箫,無(wú)需重新安裝,但是配置腳本沒(méi)有跳過(guò)該步驟楞抡,導(dǎo)致卡住伟众。解決辦法是手動(dòng)跳過(guò)該步驟,方法如下:- 在任務(wù)管理器地址欄輸入%Temp%召廷,回車進(jìn)入Temp文件夾
- 新建dd_client_.log文件,文件內(nèi)容如下(不要忘記最后的一個(gè)點(diǎn))
Closing installer. Return code: 3010.
- 重新執(zhí)行配置步驟即可跳過(guò)Python配置
-
<h5 id="build_issue">編譯時(shí)出現(xiàn)動(dòng)態(tài)庫(kù)鏈接錯(cuò)誤</h5>
導(dǎo)致該問(wèn)題的原因是由于網(wǎng)絡(luò)太差導(dǎo)致node.lib沒(méi)有正確下載账胧,解決辦法是手動(dòng)下載node.lib竞慢,方法如下:- 打開(kāi)node官方提供的動(dòng)態(tài)庫(kù) https://nodejs.org/download/release/v17.0.0/win-x64/ ,注意版本號(hào)v17.0.0需要與你的electron版本號(hào)保持一致治泥,下載其中的node.lib
- 將node.lib放到該文件夾下 C:/user/用戶名/.electron-gyp/17.0.0/x64
- 重新執(zhí)行編譯步驟