Electron builder打包配置

参考文档

Electron builder官方文档
简书配置总结

package.json

{
  "name": "timer",
  "version": "1.0.0",
  "description": "会议计时器",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "electron .",
    "dist-win": "electron-builder --win",
    "dist-mac": "electron-builder --mac",
    "dist-linux": "electron-builder --linux"
  },
  "repository": {
    "type": "git",
    "url": "https://gitee.com/l-xiang/timer.git"
  },
  "author": "Gort",
  "license": "ISC",
  "devDependencies": {
    "electron": "^22.0.0"
  },

  "build": {
    "productName":"timer",
    "appId": "cnnc.timer",
    "copyright":"©2023 中核四川环保 信息中心 Gort",
    "directories": {
      "output": "build"
    },

    "win": {
      "icon": "resources/ico.ico",
      "target": [
        {
          "target": "nsis",
          "arch": [
            "ia32",
            "x64"
          ]
        }
      ]
    },
    "mac": {
      "icon": "resources/ico.ico",
      "target": [
        {
          "target": "dmg",
          "arch": [
            "arm64"
          ]
        }
      ]
    },
    "linux": {
      "icon": "resources/ico.ico",
      "target": [
        {
          "target": "snap",
          "arch": [
            "arm64"
          ]
        }
      ]
    },

    "nsis": {
      "oneClick": false,
      "allowElevation": true, // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
      "allowToChangeInstallationDirectory": true, // 允许修改安装目录
      "installerIcon": "./resources/ico.ico",// 安装图标
      "uninstallerIcon": "./resources/ico.ico",//卸载图标
      "installerHeaderIcon": "./resources/ico.ico", // 安装时头部图标
      "createDesktopShortcut": true, // 创建桌面图标
      "createStartMenuShortcut": true,// 创建开始菜单图标
      "shortcutName": "计时器", // 图标名称
      "include": "build/script/installer.nsh" // 包含的自定义nsis脚本
    },
    "dmg": {
      "contents": [
        {
          "x": 410,
          "y": 150,
          "type": "link",
          "path": "/Applications"
        },
        {
          "x": 130,
          "y": 150,
          "type": "file"
        }
      ]
    },

    "publish": [
      {
        "provider": "https://gitee.com/l-xiang/timer.git", // 服务器提供商 也可以是GitHub等等
        "url": "http://xxxxx/" // 服务器地址
      }
    ]
  }
}

### 配置 electron-builder 进行 Electron 应用程序打包 #### 使用 `package.json` 文件中的配置项 为了简化构建过程并提供必要的参数给 `electron-builder`,可以在项目的根目录下找到的 `package.json` 文件中加入特定字段。这些字段用于指定应用程序元数据、目标平台和其他选项。 ```json { "name": "your-app-name", "version": "0.1.0", "build": { "appId": "com.electron.yourapp", "productName": "YourAppName", "directories": { "output": "out" }, "files": [ "dist/**/*", "!node_modules/electron/**/*" ], "dmg": { "background": "assets/background.png", "icon": "assets/icon.icns" } } } ``` 此部分描述了如何通过修改项目内的 JSON 文件来设置基本属性[^1]。 #### 创建独立的配置文件 除了直接在 `package.json` 中定义外,还可以创建一个名为 `builder.config.js` 或者 `.eletron-vue/builder.config.js`(对于基于 Vue 的项目) 的 JavaScript 文件来进行更复杂的配置: ```javascript module.exports = { appId: 'com.example.app', productName: 'Example App', directories: { output: './release' }, files: ['./build/**/*', '!./build/**/*.map'], dmg: { background: './resources/dmg-background.png', icon: './resources/app-icon.icns' }, mac: [{ target: ['zip'] }], win: [{ target: ['nsis'] }] }; ``` 这段代码展示了另一种方法——利用外部脚本实现更加灵活多变的定制化需求[^2]。 #### 命令行参数补充说明 当命令行调用 `electron-builder` 工具时,也可以传递额外参数来自定义行为。例如,在 macOS 上可以这样操作: ```bash electron-builder --mac --x64 --publish always ``` 这会指示 builder 只针对 Mac 平台编译 x64 架构版本的应用,并自动发布到预设的服务上[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值