Electron应用使用electron-builder配合electron-updater代码
时间: 2024-03-08 19:45:09 浏览: 103
以下是使用Electron Builder和Electron Updater实现自动更新的示例代码:
首先,你需要安装electron-builder和electron-updater:
```bash
npm install electron-builder electron-updater --save-dev
```
然后,在你的主进程文件中,添加以下代码:
```javascript
const { app, autoUpdater } = require('electron');
const { autoUpdater } = require('electron-updater');
// 设置更新服务器的地址
autoUpdater.setFeedURL({
provider: 'generic',
url: 'http://your-update-server.com'
});
// 在应用启动时检查更新
autoUpdater.checkForUpdatesAndNotify();
// 处理更新下载完成事件
autoUpdater.on('update-downloaded', () => {
// 通知用户更新已经下载完成,可以安装更新
autoUpdater.quitAndInstall();
});
```
在渲染进程(例如你的网页或者界面)中,你可以添加以下代码来手动检查更新:
```javascript
const { ipcRenderer } = require('electron');
// 发送事件给主进程来检查更新
ipcRenderer.send('check-for-updates');
// 监听主进程返回的更新状态
ipcRenderer.on('update-status', (event, status) => {
if (status === 'update-available') {
// 通知用户有新的更新可用,可以选择是否下载
} else if (status === 'update-downloading') {
// 通知用户更新正在下载中
} else if (status === 'update-downloaded') {
// 通知用户更新已经下载完成,可以安装更新
} else if (status === 'update-not-available') {
// 通知用户没有新的更新可用
}
});
```
最后,在你的Electron Builder配置文件中,添加以下配置:
```json
{
"mac": {
"target": "zip",
"category": "your-category"
},
"win": {
"target": "nsis",
"icon": "path/to/icon.ico",
"publisherName": "your-publisher-name",
"verifyUpdateCodeSignature": false
},
"linux": {
"target": "AppImage"
},
"publish": {
"provider": "generic",
"url": "http://your-update-server.com"
}
}
```
这样,你就可以使用Electron Builder和Electron Updater来实现自动更新了。
阅读全文