Electron 01 win下项目打包环境配置

工具打包环境配置

node 
	v14.15.0
npm 
	6.14.8

Microsoft Visual C++ Build Tools

配置一下环境依赖

C:\Users\ts\.electron
		electron-v2.0.18-win32-x64.zip	
C:\Users\ts\AppData\Local\electron\Cache
		electron-v2.0.18-win32-x64.zip
C:\Users\ts\AppData\Local\electron-builder\Cache\winCodeSign
		winCodeSign-2.4.0 (非压缩包)
C:\Users\ts\AppData\Local\electron-builder\Cache\nsis
		nsis-3.0.3.2 (非压缩包)
		nsis-resources-3.3.0 (非压缩包)

权限管理员安装(全局安装node-sass )
npm install --global --production windows-build-tools

下载地址

import { autoUpdater } from 'electron-updater'
import { ipcMain, BrowserWindow } from 'electron'
const path = require('path')
/**
 * -1 检查更新失败 0 正在检查更新 1 检测到新版本,准备下载 2 未检测到新版本 3 下载中 4 下载完成
 **/
// 负责向渲染进程发送信息
function Message(mainWindow, type, data='') {
    const senddata = {
        state: type,
        msg: data
    }
    mainWindow.webContents.send('UpdateMsg', senddata)
}
// 更新应用的方法
export default (mainWindow) => {
    // 在下载之前将autoUpdater的autoDownload属性设置成false,通过渲染进程触发主进程事件来实现这一设置(将自动更新设置成false)
    autoUpdater.autoDownload = false
    //设置版本更新地址,即将打包后的latest.yml文件和exe文件同时放在
    //http://xxxx/test/version/对应的服务器目录下,该地址和package.json的publish中的url保持一致
    // https://sm2.35dinghuo.com/download/
    autoUpdater.setFeedURL('http://192.168.57.94:8081/JanMing/')
    // 当更新发生错误的时候触发。
    autoUpdater.on('error', (err) => {
        if (err.message.includes('sha512 checksum mismatch')) {
            Message(mainWindow, -1, 'sha512 verification failed')
        }
    })
    // 当开始检查更新的时候触发
    autoUpdater.on('checking-for-update', (event, arg) => {
        Message(mainWindow, 0)
    })
    // 发现可更新数据时
    autoUpdater.on('update-available', (event, arg) => {
        Message(mainWindow, 1)
    })
    // 没有可更新数据时
    autoUpdater.on('update-not-available', (event, arg) => {
        Message(mainWindow, 2)
    })
    // 下载监听
    autoUpdater.on('download-progress', (progressObj) => {
        Message(mainWindow, 3, progressObj)
    })
    // 下载完成
    autoUpdater.on('update-downloaded', () => {
        Message(mainWindow, 4)
    })
    // 执行更新检查
    ipcMain.on('check-update', () => {
        autoUpdater.checkForUpdates().catch(err => {
            console.log('网络连接问题', err)
        })
    })
    // 退出并安装
    ipcMain.on('confirm-update', () => {
        autoUpdater.quitAndInstall()
    })

    // 手动下载更新文件
    ipcMain.on('confirm-downloadUpdate', () => {
        autoUpdater.downloadUpdate()
    })
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值