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.exelatest.ymlblockmap(如啟用增量更新)
- macOS:
MyApp-1.0.0.dmglatest-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)
- 簽名/公證對于自動(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)容請搜索腳本之家以前的文章或繼續(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庫打包成桌面程序的過程
- electron-builder打包exe后白屏的解決方法
- electron-builder 的基本使用及electron打包步驟
- vite?+?electron-builder?打包配置詳解
- electron-builder打包配置詳解
- Electron 打包問題:electron-builder 下載各種依賴出錯(cuò)(推薦)
相關(guān)文章
JavaScript本地存儲(chǔ)與會(huì)話存儲(chǔ)的實(shí)現(xiàn)介紹
本地存儲(chǔ)和會(huì)話存儲(chǔ)是比較常用的方法,你知道兩者的區(qū)別嗎,本文詳細(xì)的介紹了JavaScript中本地存儲(chǔ)(LocalStorage)和會(huì)話存儲(chǔ)(SessionStorage)的使用,具有一定的參考價(jià)值,感興趣的可以了解一下2022-08-08
JavaScript移除數(shù)組內(nèi)重復(fù)元素的方法
這篇文章主要介紹了JavaScript移除數(shù)組內(nèi)重復(fù)元素的方法,實(shí)例分析了javascript遍歷數(shù)組及刪除等操作的相關(guān)技巧,需要的朋友可以參考下2015-03-03
js實(shí)現(xiàn)同一頁面多個(gè)運(yùn)動(dòng)效果的方法
這篇文章主要介紹了js實(shí)現(xiàn)同一頁面多個(gè)運(yùn)動(dòng)效果的方法,涉及javascript操作頁面元素運(yùn)動(dòng)效果的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
javascript 函數(shù)的暫停和恢復(fù)實(shí)例詳解
這篇文章主要介紹了javascript 函數(shù)的暫停和恢復(fù),結(jié)合實(shí)例形式詳細(xì)分析了javascript 函數(shù)的暫停和恢復(fù)相關(guān)原理、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04

