electron-reloader
1 | npm install electron-reloader --save-dev |
添加下面代码到main.js的最下面
1 | const {app} = require("electron"); |
electron-reload(推荐)
添加依赖
1 | npm install electron-reload --save-dev |
添加下面代码到main.js的最下面
1 | const {app} = require("electron"); |
这个插件跟上面的区别在于我们可以指定自动刷新所监听的文件夹
gulp+electron-connect
gulp官方文档:https://www.gulpjs.com.cn/docs/getting-started/quick-start/
添加依赖及配置
安装模块
1 | npm install gulp --save-dev |
项目根目录
添加gulpfile.js
文件
1 | const gulp = require('gulp'); |
添加启动项
修改package.json
文件
在文件中添加脚本命令
1 | "scripts": { |
添加客户端(注意二选一)
客户端可以在主进程或渲染进程中添加,但是注意不要同时在主进程和渲染进程添加。
如果在主进程添加
1 | const isDevelopment = !app.isPackaged; |
为什么要判断端口通不通呢?
这个组件的是通过websocket建立服务端和客户端的连接的,但是它没有监听error事件,如果我们不开启服务端,只是单纯的运行项目,不好意思它就连不上服务端就报错了!
如果在渲染进程中添加
1 | <script>require('electron-connect').client.create()</script> |
官方是这么说的
Do you want to use this tool for only develop environment ? You can remove the
<script>
block in your gulpfile using gulp-useref.所以推荐在主进程中添加,判断时候是开发环境来实现是否调用创建客户端的代码。
运行
使用npm run hot即可运行项目
1 | npm run hot |
经测试
修改主进程文件,会自动重启窗体;
修改HTML/CSS文件,会自动刷新页面;
gulp+electron-reload(推荐)
相比直接使用electron-reload
,这个增加了监听源代码变化自动webpack的功能。
安装依赖
1 | npm install gulp --save-dev |
添加下面代码到main.js的最下面
1 | const {app} = require("electron"); |
项目根目录
添加gulpfile.js
文件
1 | const gulp = require('gulp'); |
修改package.json
文件
在文件中添加脚本命令
1 | "scripts": { |
运行项目
1 | npm run start |
我们分别运行项目的启动和自动webpack的脚本
这样的好处
需要热加载的时候我们再启动
npm run hot
不同逐个添加要更新的窗口
当然我们也可以在gulp中启动electron,可以使用electron-connect
或自己实现
自己实现的效果不是特别好,比如显示的log会在弹出的命令框中,停止项目,窗口依旧不会关闭,所以还是推荐使用electron-connect
启动Electron的示例代码:
1 | function start_electron() { |