Electron使用electron-builder 的配置

一下是我打包的常用配置

其他配置参考:

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
posted @ 2021-03-05 15:33  makalo  阅读(7407)  评论(0编辑  收藏  举报