返回博客列表

Electron 桌面应用开发入门:从 HTML 到 EXE

最近在学习 Electron 框架,把平时用的网页工具打包成桌面应用。记录一下主进程通信、本地文件读写、以及 ASAR 打包的踩坑过程。

为什么选择 Electron

我的充值助手最初是网页版,但客户需要离线使用,而且要求有桌面图标。Electron 让我可以用 HTML/CSS/JS 开发,打包成 Windows EXE,完美符合需求。

主进程与渲染进程通信

const { ipcMain } = require('electron'); // 主进程监听 ipcMain.on('save-data', (event, data) => { fs.writeFileSync('data.json', JSON.stringify(data)); event.reply('save-done', 'success'); });

本地文件读写

用 Node.js 的 fs 模块直接读写本地文件,比浏览器 LocalStorage 强大得多。可以操作任意目录,适合数据量大的场景。

ASAR 打包踩坑

打包后发现资源文件路径变了,需要用 __dirname 拼接路径。另外,写入操作要放到用户数据目录,不能写在 ASAR 内部。

总结

Electron 降低了桌面开发门槛,但打包和自动更新需要额外处理。建议用 electron-builder,配置简单,支持自动更新。