electron-builder打包與發(fā)布Electron應(yīng)用
本文將基于 electron-vite-vue 腳手架,詳細(xì)介紹如何使用 electron-builder
實(shí)現(xiàn):
- ? 多平臺(tái)打包(Windows / macOS / Linux)
- ? 自動(dòng)更新發(fā)布配置
- ? 常用構(gòu)建腳本與輸出結(jié)構(gòu)
?? 項(xiàng)目結(jié)構(gòu)
electron-vite-vue/ ├── electron/ # 主進(jìn)程代碼 ├── src/ # 渲染進(jìn)程代碼(Vue) ├── dist/ # 渲染構(gòu)建輸出(vite 自動(dòng)生成) ├── dist-electron/ # 主進(jìn)程和安裝包構(gòu)建輸出 ├── package.json # 配置文件(包含 build 字段)
?? 安裝依賴
npm install -D electron-builder
electron-vite-vue 中已集成打包腳本(通常在 package.json
的 scripts
字段):
"scripts": { "dev": "electron-vite dev", "build": "electron-vite build", "build:dir": "electron-builder build", "build:win": "electron-builder --win", "build:mac": "electron-builder --mac" }
?? 基本構(gòu)建配置(package.json 中的 build 字段)
"build": { "appId": "com.example.app", "productName": "MyApp", "directories": { "output": "dist-electron" }, "files": [ "dist", "electron", "node_modules" ], "win": { "target": "nsis" }, "mac": { "target": "dmg" }, "publish": { "provider": "github", "owner": "yourname", "repo": "your-repo" } }
?? 打包命令說明
命令 | 功能 |
---|---|
npm run build | 構(gòu)建渲染進(jìn)程 (Vite) |
npm run build:dir | 打包主進(jìn)程和產(chǎn)物 |
electron-builder --win | 構(gòu)建 Windows 安裝包 |
electron-builder --mac | 構(gòu)建 macOS DMG |
electron-builder -p never | 僅打包不發(fā)布 |
electron-builder -p always | 打包并自動(dòng)發(fā)布 |
?? 打包輸出結(jié)構(gòu)
輸出目錄通常為 dist-electron/
,包含:
- Windows:
MyApp Setup 1.0.0.exe
latest.yml
blockmap
(如啟用增量更新)
- macOS:
MyApp-1.0.0.dmg
latest-mac.yml
?? 自動(dòng)更新配置(publish)
GitHub 發(fā)布
"publish": { "provider": "github", "owner": "yourname", "repo": "your-repo" }
- 使用
GH_TOKEN
環(huán)境變量授權(quán)發(fā)布 - 發(fā)布內(nèi)容包括
.exe/.dmg
+.yml
文件
Generic 發(fā)布(靜態(tài)服務(wù)器)
"publish": { "provider": "generic", "url": "https://your-domain.com/updates/" }
?? 需手動(dòng)上傳構(gòu)建產(chǎn)物
?? macOS 注意事項(xiàng)
- 簽名/公證對(duì)于自動(dòng)更新是必須的
- 推薦使用 Apple Developer ID + notarize 配合發(fā)布
?? 調(diào)試建議
- 添加日志模塊
electron-log
- 設(shè)置日志等級(jí)
autoUpdater.logger = log
- 可通過
--config
傳入額外構(gòu)建配置
? 推薦實(shí)踐流程
- 設(shè)置
build
字段(含 publish) - 執(zhí)行渲染構(gòu)建:
npm run build
- 執(zhí)行打包構(gòu)建:
npm run build:dir
或指定平臺(tái)構(gòu)建 - 上傳產(chǎn)物到 GitHub Release 或服務(wù)器
- 應(yīng)用中啟用
electron-updater
自動(dòng)更新邏輯
?? 延伸閱讀
到此這篇關(guān)于electron-builder打包與發(fā)布Electron應(yīng)用的文章就介紹到這了,更多相關(guān)electron-builder打包與發(fā)布Electron內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Electron 使? electron-builder 打包應(yīng)用過程詳解
- 使用electron-builder將項(xiàng)目打包成桌面程序的詳細(xì)教程
- vue配置electron使用electron-builder進(jìn)行打包的操作方法
- electron-builder打包vue2項(xiàng)目問題總結(jié)
- 快速解決electron-builder打包時(shí)下載依賴慢的問題
- vue項(xiàng)目使用electron-builder庫(kù)打包成桌面程序的過程
- electron-builder打包exe后白屏的解決方法
- electron-builder 的基本使用及electron打包步驟
- vite?+?electron-builder?打包配置詳解
- electron-builder打包配置詳解
- Electron 打包問題:electron-builder 下載各種依賴出錯(cuò)(推薦)
相關(guān)文章
JavaScript中運(yùn)算符與數(shù)組擴(kuò)展詳細(xì)講解
這篇文章主要介紹了JavaScript中運(yùn)算符與數(shù)組擴(kuò)展方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-11-11JS判斷Android、iOS或?yàn)g覽器的多種方法(四種方法)
這篇文章主要介紹了JS判斷Android、iOS或?yàn)g覽器的多種方法(四種方法),需要的朋友可以參考下2017-06-06JavaScript獲取css行間樣式,內(nèi)連樣式和外鏈樣式的簡(jiǎn)單方法
下面小編就為大家?guī)硪黄狫avaScript獲取css行間樣式,內(nèi)連樣式和外鏈樣式的簡(jiǎn)單方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07JavaScript數(shù)組去重的五種方法及其他細(xì)節(jié)和拓展
JavaScript數(shù)組去重這個(gè)問題,經(jīng)常出現(xiàn)在面試題中,下面這篇文章主要給大家介紹了關(guān)于JavaScript數(shù)組去重的五種方法及其他細(xì)節(jié)和拓展的相關(guān)資料,文中通過實(shí)例代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12詳解TypeScript中type與interface的區(qū)別
在寫 ts 相關(guān)代碼的過程中,總能看到 interface 和 type 的身影。它們的作用好像都一樣的,相同的功能用哪一個(gè)都可以實(shí)現(xiàn),也都很好用,所以也很少去真正的理解它們之間到底有啥區(qū)別,因此本文將詳細(xì)講解二者的區(qū)別,需要的可以參考一下2022-04-04使用SpreadJS快速清除Excel中工作表保護(hù)密碼
這篇文章主要為大家介紹了使用SpreadJS快速清除Excel中工作表保護(hù)密碼方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11js學(xué)習(xí)筆記之class類、super和extends關(guān)鍵詞
es6提供了一個(gè)新語法就是class,下面這篇文章主要給大家介紹了關(guān)于js學(xué)習(xí)筆記之class類、super和extends關(guān)鍵詞的相關(guān)資料,需要的朋友可以參考下2021-08-08