Spec-Zone.ru › Electron

Упаковывание вашего приложения

Следуйте пошаговой инструкции

Это часть 5 учебника по Electron.

  1. Предварительные условия
  2. Создание вашего первого приложения
  3. Использование скриптов предварительной загрузки
  4. Добавление функций
  5. Упаковывание вашего приложения
  6. Опубликование и обновление

Цели обучения​

В этой части учебника мы рассмотрим основы упаковки и распространения вашего приложения с помощью Electron Forge.

Использование Electron Forge​

Electron не имеет инструментов для упаковки и распространения, встроенных в свои основные модули. После создания работоспособного приложения Electron в режиме разработки вам необходимо использовать дополнительные инструменты для создания упакованного приложения, которое можно распространять пользователям (также известное как распространяемое приложение). Распространяемые приложения могут быть установщиками (например, MSI в Windows) или портативными исполняемыми файлами (например, .app на macOS).

Electron Forge — это комплексный инструмент, который обрабатывает упаковку и распространение приложений Electron. Внутри он объединяет множество существующих инструментов Electron (например, electron-packager, @electron/osx-sign, electron-winstaller и др.) в единый интерфейс, чтобы вам не приходилось беспокоиться о их настройке.

Импорт вашего проекта в Forge​

Вы можете установить командную строку Electron Forge в devDependencies своего проекта и импортировать свой существующий проект с помощью удобного скрипта преобразования.

  • npm
  • Yarn
npm install --save-dev @electron-forge/cli
npx electron-forge import
yarn add --dev @electron-forge/cli
npx electron-forge import

После выполнения скрипта преобразования Forge должен добавить несколько скриптов в ваш package.json файл.

package.json
  //...
  "scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make"
  },
  //...
Документация командной строки

Дополнительную информацию о make и других API Forge см. в документации Electron Forge CLI.

Вы также должны заметить, что ваш файл package.json теперь содержит несколько дополнительных пакетов в devDependencies, и включает добавленное поле config.forge с массивом настроенных создателей. Создатели — это плагины Forge, которые создают распространяемые приложения из исходного кода. Вы должны увидеть несколько создателей в предварительно заполненной конфигурации, по одному для каждой платформы.

Создание распространяемого приложения​

Чтобы создать распространяемое приложение, используйте новый make скрипт вашего проекта, который выполняет команду electron-forge make.

  • npm
  • Yarn
npm run make
yarn run make

Эта make команда содержит два шага:

  1. Сначала она выполнит electron-forge package в фоновом режиме, которое соберет код вашего приложения вместе с бинарником Electron. Упакованный код будет сгенерирован в папку.
  2. Затем она воспользуется этой упакованной папкой приложения для создания отдельного дистрибутива для каждого настроенного создателя.

После выполнения скрипта вы должны увидеть папку out, содержащую как дистрибутив, так и папку с упакованным кодом приложения.

Пример вывода для macOS
out/
├── out/make/zip/darwin/x64/my-electron-app-darwin-x64-1.0.0.zip
├── ...
└── out/my-electron-app-darwin-x64/my-electron-app.app/Contents/MacOS/my-electron-app

Дистрибутив в папке out/make должен быть готов к запуску! Вы создали своё первое упакованное приложение Electron.

Форматы дистрибутива

Electron Forge можно настроить для создания дистрибутивов в различных форматах, специфичных для операционной системы (например, DMG, deb, MSI и т.д.). Обратитесь к документации Forge по создателям здесь для всех параметров конфигурации.

Упаковщица без Electron Forge

Если вы хотите упаковать свой код вручную или просто хотите понять механику упаковки приложения Electron, ознакомьтесь с полным руководством Упаковка приложений.

Важно: подписание вашего кода​

Для распространения настольных приложений конечным пользователям мы настоятельно рекомендуем подписать код вашего приложения Electron. Подписание кода — важная часть распространения настольных приложений и является обязательным шагом для автоматического обновления на последнем этапе руководства.

Подписание кода — это технология безопасности, используемая для подтверждения того, что настольное приложение было создано известным источником. Windows и macOS имеют свои собственные системы подписи кода, которые затруднят пользователям загрузку или запуск неподписанных приложений.

Если у вас уже есть сертификаты подписи кода для Windows и macOS, вы можете настроить свои учетные данные в вашей конфигурации Forge. В противном случае, пожалуйста, обратитесь к полному руководству по Подписанию кода, чтобы узнать, как приобрести сертификат, и получить больше информации о процессе подписи кода настольных приложений.

В macOS подписание кода выполняется на уровне упаковки приложения. В Windows подписываются установочные пакеты дистрибутива.

  • macOS
  • Windows
package.json
{
  //...
  "config": {
    "forge": {
      //...
      "packagerConfig": {
        "osxSign": {
          "identity": "Developer ID Application: Felix Rieseberg (LT94ZKYDCJ)",
          "hardened-runtime": true,
          "entitlements": "entitlements.plist",
          "entitlements-inherit": "entitlements.plist",
          "signature-flags": "library"
        },
        "osxNotarize": {
          "appleId": "felix@felix.fun",
          "appleIdPassword": "this-is-a-secret"
        }
      }
      //...
    }
  }
  //...
}
package.json
{
  //...
  "config": {
    "forge": {
      //...
      "makers": [
        {
          "name": "@electron-forge/maker-squirrel",
          "config": {
            "certificateFile": "./cert.pfx",
            "certificatePassword": "this-is-a-secret"
          }
        }
      ]
      //...
    }
  }
  //...
}

Резюме​

Приложения Electron необходимо упаковать для распространения пользователям. В этом руководстве вы импортировали своё приложение в Electron Forge и настроились для упаковки приложения и генерации установочных файлов.

Для того, чтобы ваше приложение доверялось системой пользователя, необходимо цифровым способом подтвердить, что дистрибутив является подлинным и не был изменён с помощью подписи кода. Ваше приложение может быть подписано через Forge после настройки для использования вашей информации о сертификате подписи кода.

© GitHub Inc.
Licensed under the MIT license.
https://www.electronjs.org/docs/latest/tutorial/tutorial-packaging

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API