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