摘要:事件當(dāng)發(fā)現(xiàn)一個(gè)可用更新的時(shí)候觸發(fā),更新包下載會(huì)自動(dòng)開(kāi)始。在上只有是有效的。方法列表對(duì)象有以下的方法設(shè)置檢查更新的,并且初始化自動(dòng)更新。這個(gè)一旦設(shè)置就無(wú)法更改。向服務(wù)端查詢現(xiàn)在是否有可用的更新。在下載完成后,重啟當(dāng)前的應(yīng)用并且安裝更新。
Electron打包調(diào)參軟件(windows版)
----------------------------------可選安裝位置,可自動(dòng)更新,手動(dòng)更新
一:引包:electron,electron-builder,electron-updater**npm i electron --save-dev npm i electron-builder --save-dev npm i electron-updater --save 注:每個(gè)包都要放在相應(yīng)的位置;
Package.json配置:
1.字段:”build”參數(shù):
{ "publish": [ { "provider": "generic", "url": "http://localhost:8899/" //存放軟件版本的地址 } ], "directories": { "output": "release", //打包后文件所在位置 "app": "./" //開(kāi)始位置 }, "win": { //windows下安裝軟件配置參數(shù) "target": [ "nsis", //打包為nsis安裝文件 "zip" //打包為安裝文件zip ] }, "nsis": { //nsis配置參數(shù) "oneClick": false, //可單擊打開(kāi) "allowToChangeInstallationDirectory": true, //允許用戶選擇安裝位置 "perMachine": true } };2.字段:”script”
參數(shù):
{ "dist": "electron-builder" }3.字段:”version”
參數(shù):
1.0.0 //保存版本信息,通過(guò)該字段完成更新功能(必須字段)二:打包:npm run dist
等待打包,打包完成之后生成的文件會(huì)放在output字段設(shè)置的位置;
這是打包完成后生成的文件,其中l(wèi)atest.yml是electron-builder自動(dòng)生成的版本管理文件, 該文件保存有版本信息;
箭頭指向的文件為可安裝軟件,即打包后的目標(biāo)文件;
版本文件:
可以看到,現(xiàn)在打包的版本為2.0.0,想要改變版本只要更改package.json的version字段,重新打包即可;
點(diǎn)擊該文件可進(jìn)行安裝:
const autoUpdater = require("electron-updater").autoUpdater; //引入 autoUpdater
2.以下代碼需要在完成創(chuàng)建BrowserWindow后執(zhí)行;autoUpdater.setFeedURL("http://localhost:8899/"); //設(shè)置檢測(cè)更新地址(參數(shù)為 軟件所在位置)
3.autoUpdater.checkForUpdates() //檢測(cè)是否有新版本,如果有新版本則自動(dòng)下載; 4.autoUpdater.on("update-downloaded", function () { //下載完成后執(zhí)行 quitAndInstallautoUpdater.quitAndInstall(); //關(guān)閉軟件并安裝新版本
});
5.安裝程序后,每次打開(kāi)都會(huì)執(zhí)行上述代碼,每次都會(huì)檢測(cè)是否有新版本; 6.最后一步,打包一個(gè)新版本的軟件,把exe文件和latest.yml一起放在autoUpdater.setFeedURL()設(shè)置的路徑下;打開(kāi)軟件后檢測(cè)到有新版本時(shí)就會(huì)自動(dòng)下載安裝:
以上為軟件自動(dòng)更新,若要軟件手動(dòng)更新還需要electron主進(jìn)程和渲染進(jìn)程之間的通訊,通過(guò)用戶操作觸發(fā)更新檢測(cè),下載更新事件;以下是autoUpdater手動(dòng)更新時(shí)可能用到的方法和事件; 事件列表
autoUpdater?對(duì)象會(huì)觸發(fā)以下的事件: 事件:"error" 返回: error?Error 當(dāng)更新發(fā)生錯(cuò)誤的時(shí)候觸發(fā)。 事件:"checking-for-update" 當(dāng)開(kāi)始檢查更新的時(shí)候觸發(fā)。 事件:"update-available" 當(dāng)發(fā)現(xiàn)一個(gè)可用更新的時(shí)候觸發(fā),更新包下載會(huì)自動(dòng)開(kāi)始。 事件:"update-not-available" 當(dāng)沒(méi)有可用更新的時(shí)候觸發(fā)。 事件:"update-downloaded" 返回: event?Event releaseNotes?String - 新版本更新公告 releaseName?String - 新的版本號(hào) releaseDate?Date - 新版本發(fā)布的日期 updateURL?String - 更新地址 在更新下載完成的時(shí)候觸發(fā)。 在 Windows 上只有?releaseName?是有效的。方法列表
autoUpdater?對(duì)象有以下的方法: autoUpdater.setFeedURL(url) url?String 設(shè)置檢查更新的?url,并且初始化自動(dòng)更新。這個(gè)?url?一旦設(shè)置就無(wú)法更改。 autoUpdater.checkForUpdates() 向服務(wù)端查詢現(xiàn)在是否有可用的更新。在調(diào)用這個(gè)方法之前,必須要先調(diào)用?setFeedURL。 autoUpdater.quitAndInstall() 在下載完成后,重啟當(dāng)前的應(yīng)用并且安裝更新。這個(gè)方法應(yīng)該僅在?update-downloaded?事件觸發(fā)后被調(diào)用。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/95236.html
摘要:原文發(fā)表于如何搭建開(kāi)發(fā)環(huán)境這個(gè)項(xiàng)目結(jié)構(gòu)是我在編寫(xiě)基于和的七牛文件上傳總結(jié)出來(lái)的本文主要介紹如何從零開(kāi)始搭建高效的開(kāi)發(fā)環(huán)境主要內(nèi)容如下通過(guò)合理的目錄劃分來(lái)組織代碼使用簡(jiǎn)化開(kāi)發(fā)如何在渲染進(jìn)程開(kāi)發(fā)時(shí)使用熱更新如何在主進(jìn)程開(kāi)發(fā)時(shí)使用自動(dòng)重啟如何在主 原文發(fā)表于 https://lleohao.github.io/2017/09/02/如何搭建Electron開(kāi)發(fā)環(huán)境/ 這個(gè)項(xiàng)目結(jié)構(gòu)是我在編寫(xiě)...
摘要:三配置環(huán)節(jié)目的一是為之后的環(huán)節(jié)初始化工作流參數(shù),二是準(zhǔn)備好應(yīng)用文件夾內(nèi)容即要打包的目標(biāo)文件夾做的事解析命令行參數(shù),初始化工作參數(shù),填充配置文件,把配置文件和相關(guān)依賴文件導(dǎo)入到文件夾內(nèi)合適的 首發(fā)于酷家樂(lè)前端博客,作者@摘星(segmentfault @StinsonZhao) 我們能從很多地方學(xué)習(xí)到怎么起一個(gè) Electron 項(xiàng)目,有些還會(huì)介紹怎么打包或構(gòu)建你的代碼,但距離「真正地...
摘要:而這里的單元格信息是唯一的,所以直接通過(guò)為一個(gè)空對(duì)象賦值即可。和相關(guān)的知識(shí)和技巧高亮的列單元格采用展示。在中,被選中的單元格會(huì)高亮相應(yīng)的行和列,以提醒用戶。 showImg(https://segmentfault.com/img/bVGkdk?w=900&h=500); XCEL 是一個(gè) Excel 數(shù)據(jù)清洗工具,其通過(guò)可視化的方式讓用戶輕松地對(duì) Excel 數(shù)據(jù)進(jìn)行篩選。 XCEL...
摘要:前言本文主要介紹如何通過(guò)及兩種方式,將已有的應(yīng)用打包成格式和可執(zhí)行文件。導(dǎo)致了在打包的過(guò)程中非常慢。由于是初次接觸,如讀者在文中發(fā)現(xiàn)錯(cuò)誤,請(qǐng)及時(shí)指正。 前言 showImg(https://segmentfault.com/img/bV6zNn?w=1319&h=594); 本文主要介紹如何通過(guò)electron-packager及electron-builder兩種方式,將已有的ele...
摘要:最近一直在做應(yīng)用的打包,集成版本的自動(dòng)更新時(shí)出現(xiàn)了問(wèn)題。針對(duì)上述上打包無(wú)法進(jìn)行正確代碼簽名的問(wèn)題,通過(guò)設(shè)置環(huán)境變量和使用進(jìn)行代碼簽名可以解決。 最近一直在做electron應(yīng)用的打包,集成mac版本的自動(dòng)更新時(shí)出現(xiàn)了問(wèn)題。具體打包流程請(qǐng)參考:Electron 桌面應(yīng)用打包(npm run build)簡(jiǎn)述(windows + mac)Electron應(yīng)用集成自動(dòng)更新功能可參考:Elec...
閱讀 2879·2021-10-14 09:43
閱讀 1673·2021-09-29 09:34
閱讀 1757·2021-07-28 00:16
閱讀 2972·2019-08-30 15:53
閱讀 2917·2019-08-30 13:59
閱讀 2972·2019-08-30 13:57
閱讀 1102·2019-08-26 13:38
閱讀 1906·2019-08-26 13:25