一下是我打包的常用配置
其他配置參考:
https://www.electron.build/configuration/configuration
https://www.electron.build/configuration/nsis
package.json配置
只提供build
配置
"build": {
"productName": "makalo-cnblog-tool",
"appId": "com.makalo.cnblog-tool",
"win":{
"target": [{
"target":"nsis"
}],
"icon":"build/icon/icon.ico"
},
"nsis": {
"shortcutName": "makalo-cnblog-tool",
"oneClick": false,
"allowElevation": true,
"allowToChangeInstallationDirectory": true,
"perMachine": true,
"include": "./build/installer.nsh"
}
},
productName
項目名 這也是生成的exe文件的前綴名appId
包名win
構建win的選項target
目標封裝類型,默認使用niss,win平台一般也是用這個,可寫可不寫icon
自定義圖標路徑 ,如果不指定就用electron默認圖標
nsis
niss工具配置,niss一般用來配置安裝和卸載程序的,shortcutName
用於所有快捷方式的名稱。默認為應用程序名稱。oneClick
是創建一鍵安裝程序還是輔助安裝程序allowElevation
僅輔助安裝程序有效。允許請求提升。如果為false,則用戶將不得不以提升的權限重新啟動安裝程序allowToChangeInstallationDirectory
僅輔助安裝程序有效。是否允許用戶更改安裝目錄。perMachine
是否開啟安裝時權限限制(此電腦或當前用戶)true 表示此電腦,false代表當前用戶include
NSIS包含定制安裝程序腳本的路徑。默認為build/installer.nsh
常用NISS腳本
;安裝時寫入
!macro customInstall
WriteRegStr HKCR "*\shell\makalo-cnblog-tool-read" "" "ssss"
WriteRegStr HKCR "*\shell\makalo-cnblog-tool-read" "Icon" "$INSTDIR\makalo-cnblog-tool.exe"
WriteRegStr HKCR "*\shell\makalo-cnblog-tool-read\command" "" '"$INSTDIR\makalo-cnblog-tool.exe" "read" "%1"'
WriteRegStr HKCR "*\shell\makalo-cnblog-tool-upload" "" "sssss"
WriteRegStr HKCR "*\shell\makalo-cnblog-tool-upload" "Icon" "$INSTDIR\makalo-cnblog-tool.exe"
WriteRegStr HKCR "*\shell\makalo-cnblog-tool-upload\command" "" '"$INSTDIR\makalo-cnblog-tool.exe" "upload" "%1"'
!macroend
;卸載時清除
!macro customUninstall
DeleteRegKey HKCR "*\shell\makalo-cnblog-tool-read"
DeleteRegKey HKCR "*\shell\makalo-cnblog-tool-upload"
!macroend
;修改默認安裝路徑
!macro preInit
SetRegView 64
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\makalo-cnblog-tool"
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\makalo-cnblog-tool"
SetRegView 32
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\makalo-cnblog-tool"
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\makalo-cnblog-tool"
!macroend
關於files選項
從我觀察的到的情況來看,electron build
默認會將你應用目錄的所有文件打包進去,但是關於依賴只會打包相關的生產依賴,但是如果你項目有要保存的文件你有不想打包進去呢?比如描述文檔,以前版本的應用,那怎么配置呢?這就需要files
選項了
參考:
https://www.electron.build/configuration/contents#files
例:配置項目目錄下的 exe
,.gitee文件夾和所有的README
開頭的文件不用打包進去
"files" : [
"!exe",
"!.gitee",
"!README.*"
],
注意
- files配置項要在build配置項底下
- 配置項不止可以配置不打包哪些文件或文件夾,也可以將制定目錄的文件復制到指定的應用目錄中,具體參考extraResources