首页
Preview

打包你的 Electron 应用的完整指南

打包 electron 应用程序简单地说就是创建一个桌面安装程序(dmg、exe、deb等)。如果你决定手动打包应用程序,那么你会度过一段不愉快的时光。

幸运的是,有一些模块,特别是下面提到的两个,使得这个任务更容易。

electron-builder
electron-packager

我们将使用 electron-builder,因为它内置支持代码签名/自动更新等功能。

配置应用程序使用 electron-builder:

  • 在项目根目录中创建一个目录 build,并将 background.png(macOS DMG 背景)、icon.icns(macOS 应用程序图标)和 icon.ico(Windows 应用程序图标)保存在其中。Linux 图标集将根据 macOS 自动生成。例如:zulip-electron/build
  • 运行以下命令将 electron-builder 添加到应用程序的 devDependencies 中:
npm install electron-builder --save-dev
  • 在 electron-builder 中,你可以使用两个 package.json 结构以及单个 package.json。我们将使用单个 package.json 结构,因为它更容易维护。

示例 One package.json

{
  "name": "zulip-electron",
  "version": "2.3.0",
  "description": "Zulip desktop client",
  "author": "Zulip <support@zulipchat.com>",
  "main": "src/index.js",
  "scripts": {
    "start": "electron-forge start",
    "pack": "electron-builder --dir",
    "dist": "electron-builder"
  },
  "license": "MIT",
  "dependencies": {
    "zulip-js": "^1.0.0"
  },
  "devDependencies": {
    "electron": "^8.2.5",
    "electron-builder": "^22.4.1",
    "electron-forge": "^6.0.0-beta.54",
    "electron-log": "^4.3.2"
  },
  "build": {
    "appId": "chat.zulip.zulip-electron",
    "productName": "Zulip",
    "linux": {
      "target": [
        "deb",
        "AppImage"
      ],
      "category": "Network"
    },
    "win": {
      "target": "nsis"
    },
    "dmg": {
      "background": "build/background.png",
      "icon": "build/icon.icns"
    },
    "mac": {
      "category": "public.app-category.social-networking",
      "target": "dmg",
      "icon": "build/icon.icns",
      "hardenedRuntime": true,
      "gatekeeperAssess": false,
      "entitlements": "build/entitlements.mac.plist",
      "entitlementsInherit": "build/entitlements.mac.plist"
    },
    "directories": {
      "buildResources": "build"
    },
    "extraFiles": [
      {
        "from": "build/icon.ico",
        "to": "."
      }
    ]
  }
}

在 Windows 上构建时,你还可以使用 NSIS 目标,它是默认的并被 electron-builder 推荐的。

electron-builder --win

这就是配置 electron-builder 的全部内容。现在让我们构建安装程序。要将应用程序打包成安装程序,请使用以下命令:

electron-builder

它将在 /dist 文件夹中创建一个安装程序。默认情况下,构建命令将只为当前平台和当前架构生成安装程序。例如,在 OSX 上运行它将创建:

Zulip-2.3.0.dmg

在 Windows 上 -

Zulip Setup 2.3.0.exe

在 Linux 上 -

zulip-electron_2.3.0_amd64.deb
zulip-electron-2.3.0-x86_64.AppImage

electron-builder 是高度可配置的。要完整使用它,请查看它的wikizulip-electron(两个 package.json)和onshape-desktop-shell(一个 package.json)是一些使用 electron-builder 进行打包的真实项目。

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
一个人玩
先找到想要的,然后出发

评论(0)

添加评论