開發(fā)電子客戶端程序是一個(gè)無法纏繞的問題。
使用方法
來源:
Builder的使用和配置非常簡單。
配置Builder有兩種方法
在中直接使用配置(通常使用,我將集中討論這一部分。)
指定Elec文件
句子末尾提供了Demo地址(在demo項(xiàng)目中,electron使用V2.0.7版本,現(xiàn)在比2.0.8版本更高)。
下面是一個(gè)簡單的中帶注釋的配置
- 基礎(chǔ)配置
在配置文件中加入以上的文件之后就可以打包出來簡單的文件夾,文件夾肯定不是我們想要的東西。下一步我們來繼續(xù)講別的配置。
- 打包目標(biāo)配置
要打包成安裝程序的話我們有兩種方式,
- 使用NSIS工具對我們的文件夾再進(jìn)行一次打包,打包成exe
- 通過electron-builder的nsis直接打包成exe,配置如下
其他平臺配置
"dmg": { // macOSdmg "contents": [ ... ] }, "mac": { // mac "icon": "build/icon; }, "linux": { // linux "icon": "build/icons" }nsis配置
這個(gè)要詳細(xì)的講一下,這個(gè)nsis的配置指的是安裝過程的配置,其實(shí)還是很重要的,如果不配置nsis那么應(yīng)用程序就會自動(dòng)的安裝在C盤。沒有用戶選擇的余地,這樣肯定是不行的
關(guān)于nsis的配置是在build中nsis這個(gè)選項(xiàng)中進(jìn)行配置,下面是部分nsis配置
"nsis": { "oneClick": false, // 是否一鍵安裝 "allowElevation": true, // 允許請求提升。 如果為false,則用戶必須使用提升的權(quán)限重新啟動(dòng)安裝程序。 "allowToChangeInstallationDirectory": true, // 允許修改安裝目錄 "installerIcon": "./build/icon;,// 安裝圖標(biāo) "uninstallerIcon": "./build/icon;,//卸載圖標(biāo) "installerHeaderIcon": "./build/icon;, // 安裝時(shí)頭部圖標(biāo) "createDesktopShortcut": true, // 創(chuàng)建桌面圖標(biāo) "createStartMenuShortcut": true,// 創(chuàng)建開始菜單圖標(biāo) "shortcutName": "xxxx", // 圖標(biāo)名稱 "include": "build/scri;, // 包含的自定義nsis腳本 這個(gè)對于構(gòu)建需求嚴(yán)格得安裝過程相當(dāng)有用。 "script" : "build/scri; // NSIS腳本的路徑,用于自定義安裝程序。 默認(rèn)為build / in },關(guān)于include 和 script 到底選擇哪一個(gè) ?
在對個(gè)性化安裝過程需求并不復(fù)雜,只是需要修改一下安裝位置,卸載提示等等的簡單操作建議使用include配置,如果你需要炫酷的安裝過程,建議使用script進(jìn)行完全自定義。
NSIS對于處理安裝包這種東西,功能非常的強(qiáng)大。但是學(xué)習(xí)起來并不比一門高級語言要容易。其中的奧秘還要各位大佬自行探索
這里上一些學(xué)習(xí)資源
- NSIS初級篇
- NSIS 打包腳本基礎(chǔ)
- 示例腳本
- NSIS論壇
- 關(guān)于操作系統(tǒng)的配置
主要是windows中64和32位的配置
CLI參數(shù)
electron-builder --ia32 // 32位 electron-builder // 64位(默認(rèn)) nsis中配置 "win": { "icon": "build/icon;, "target": [ { "target": "nsis", "arch": [ // 這個(gè)意思是打出來32 bit + 64 bit的包,但是要注意:這樣打包出來的安裝包體積比較大,所以建議直接打32的安裝包。 "x64", "ia32" ] } ] }更新配置
下面這個(gè)是給更新用的配置,主要是為了生成la配置文件
"publish": [ { "provider": "generic", // 服務(wù)器提供商 也可以是GitHub等等 "url": "http://xxxxx/" // 服務(wù)器地址 } ],完整配置
基本上可用的完整的配置
"build": { "productName":"xxxx",//項(xiàng)目名 這也是生成的exe文件的前綴名 "appId": "com.leon.xxxxx",//包名 "copyright":"xxxx",//版權(quán) 信息 "directories": { // 輸出文件夾 "output": "build" }, "nsis": { "oneClick": false, // 是否一鍵安裝 "allowElevation": true, // 允許請求提升。 如果為false,則用戶必須使用提升的權(quán)限重新啟動(dòng)安裝程序。 "allowToChangeInstallationDirectory": true, // 允許修改安裝目錄 "installerIcon": "./build/icon;,// 安裝圖標(biāo) "uninstallerIcon": "./build/icon;,//卸載圖標(biāo) "installerHeaderIcon": "./build/icon;, // 安裝時(shí)頭部圖標(biāo) "createDesktopShortcut": true, // 創(chuàng)建桌面圖標(biāo) "createStartMenuShortcut": true,// 創(chuàng)建開始菜單圖標(biāo) "shortcutName": "xxxx", // 圖標(biāo)名稱 "include": "build/scri;, // 包含的自定義nsis腳本 }, "publish": [ { "provider": "generic", // 服務(wù)器提供商 也可以是GitHub等等 "url": "http://xxxxx/" // 服務(wù)器地址 } ], "files": [ "dist/electron/**/*" ], "dmg": { "contents": [ { "x": 410, "y": 150, "type": "link", "path": "/Applications" }, { "x": 130, "y": 150, "type": "file" } ] }, "mac": { "icon": "build/icon; }, "win": { "icon": "build/icon;, "target": [ { "target": "nsis", "arch": [ "ia32" ] } ] }, "linux": { "icon": "build/icons" } }命令行參數(shù)(CLI)
Commands(命令):
electron-builder build 構(gòu)建命名 [default]
electron-builder install-app-deps 下載app依賴
electron-builder node-gyp-rebuild 重建自己的本機(jī)代碼
electron-builder create-self-signed-cert 為Windows應(yīng)用程序創(chuàng)建自簽名代碼簽名證書
electron-builder start 使用electronic-webpack在開發(fā)模式下運(yùn)行應(yīng)用程序(須臾要electron-webpack模塊支持)
Building(構(gòu)建參數(shù)):
--mac, -m, -o, --macos Build for macOS, [array] --linux, -l Build for Linux [array] --win, -w, --windows Build for Windows [array] --x64 Build for x64 (64位安裝包) [boolean] --ia32 Build for ia32(32位安裝包) [boolean] --armv7l Build for armv7l [boolean] --arm64 Build for arm64 [boolean] --dir Build unpacked dir. Useful to test. [boolean] --prepackaged, --pd 預(yù)打包應(yīng)用程序的路徑(以可分發(fā)的格式打包) --projectDir, --project 項(xiàng)目目錄的路徑。 默認(rèn)為當(dāng)前工作目錄。 --config, -c 配置文件路徑。 默認(rèn)為`elec`(或`js`,或`js5`)Publishing(發(fā)布):
--publish, -p 發(fā)布到GitHub Releases [choices: "onTag", "onTagOrDraft", "always", "never", undefined] <font color="red">Deprecated(廢棄):</font> --draft 請改為在GitHub發(fā)布選項(xiàng)中設(shè)置releaseType [boolean] --prerelease 請改為在GitHub發(fā)布選項(xiàng)中設(shè)置releaseType [boolean] --platform 目標(biāo)平臺 (請更改為選項(xiàng) --mac, --win or --linux) [choices: "mac", "win", "linux", "darwin", "win32", "all", undefined] --arch 目標(biāo)arch (請更改為選項(xiàng) --x64 or --ia32) [choices: "ia32", "x64", "armv7l", "arm64", "all", undefined] Other(其他): --help Show help [boolean] --version Show version number [boolean] Examples(例子): electron-builder -mwl 為macOS,Windows和Linux構(gòu)建(同時(shí)構(gòu)建) electron-builder --linux deb 為Linux構(gòu)建deb和 electron-builder -c.ex 將屬性`foo`設(shè)置為`bar` electron-builder --con 為NSIS配置unicode選項(xiàng)TargetConfiguration(構(gòu)建目標(biāo)配置):
target: String - 目標(biāo)名稱,例如snap. arch “x64” | “ia32” | “armv7l” | “arm64”> | “x64” | “ia32” | “armv7l” | “arm64” -arch支持列表1.《electron-builder 打包生成桌面App》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《electron-builder 打包生成桌面App》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實(shí),對其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請保留本站內(nèi)容來源地址,http://f99ss.com/gl/3146329.html