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