开发环境
Electron主进程热更新
主进程热更新概述
结论:主进程无法像渲染进程那样做 HMR(热模块替换),渲染子工程现在是基于VUE3+VITE方式实现的,本身就支持(HRM)的
- 渲染进程: 是网页,可以通过 WebSocket 替换 JS 模块,保留状态。
- 主进程: 是 Node.js 环境,控制着 App 的生命周期。一旦代码变了,必须杀死当前 Electron 进程,并重新启动一个新的进程。
主进程的热更新主流方案都是自动重启 (Auto Restart)
主流热更新三方库
主流三方库:
- nodemon
- electron-reload
- electronmon
- electron-reloader
经过对上方三方库使用尝试,发现这些库多多少少都存在一些问题, 同时Github上的库的issue较多,并且是没有解决的。
综合考虑之后决定先采用手动重启,暂不考虑主进程的热更新,后续如有更好的方案再做调整。
Electron渲染进程热更新
使用Vite项目开发渲染进程,天然支持 HMR 热更新,无需额外配置。