Как создать (опубликовать) выпуск (распространение) Электронного приложения с помощью CLI

Благодаря электронике создание настольного приложения стало еще проще. Теперь вы, вероятно, готовы к проектированию, подготовке и отладке вашего приложения, поэтому вам нужно только создать свой первый выпуск, но у вас есть какие-либо идеи о том, как это сделать? Не волнуйся! В этой статье мы узнаем, как создать выпуск вашего приложения Electron для разных платформ (Windows, Mac, Linux) и для всех архитектур (x32, x64), используя модуль электронного упаковщика.

Известно, что Electron Packager работает на следующих хозяин платформы:

  • Windows (32/64 бит)
  • OS X
  • Linux (x86 / x86_64)

Он генерирует исполняемые файлы / пакеты для следующих цель платформы:

  • Windows (также известный как win32для обоих 32/64 бит)
  • OS X (также известный как darwin) / Mac App Store (также известен как mas) *
  • Linux (для архитектур x86, x86_64 и armv7l)

* Примечание для целевых комплектов OS X / MAS: .app пакет может быть подписан только при сборке на платформе OS X хоста.

Электронный упаковщик является инструментом командной строки и библиотекой Node.js, которая объединяет исходный код приложения на базе Electron с переименованным исполняемым файлом Electron и поддерживает файлы в папки, готовые для распространения. Обратите внимание, что упакованные приложения Electron могут быть относительно большими (40-60 МБ).

Требования

Как уже упоминалось ранее, чтобы собрать и упаковать ваше приложение, нам нужно electron-packager модуль. В этой статье вы узнаете, как создать приложение для упаковки из командной строки (если вы хотите упаковать его с помощью Javascript, вам необходимо скачать другую версию модуля, если это ваш случай, обратитесь к официальному вместо документации), поэтому загрузите пакет, используя следующую команду в командной строке Node.js:

npm install electron-packager -g

Эта команда установит глобально электронный упаковщик в вашу консоль Node, чтобы вы могли создавать приложения из любой точки мира.

Упаковка приложения для развертывания

Предположим, вы уже работали над своим проектом и хотите создать дистрибутив только для каждой платформы. В нашем случае у нас уже есть приложение с базовым шаблоном, который показывает версию Node и Electron:

Электронное приложение

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

По сути, для создания приложения для платформы вам необходимо выполнить следующую команду в командной строке Node.js (предоставив необходимую информацию):

electron-packager   --platform= --arch= [optional flags...]

Обратите внимание, что если параметр appname пропущен, при этом будет использоваться имя, указанное в «productName» или «name» в файле package.json, а также другие неуказанные свойства в команде.

Теперь в этом примере наше приложение (our-code-world) находится в C:\electron-projects\our-code-worldЧтобы создать свое приложение, вы можете либо указать путь в качестве параметра в команде, либо перейти непосредственно к пути, по которому расположен проект, и выполнить команду внутри.

Возможные значения для опции платформы:

  • Окна: win32
  • MacOS: darwin или же mas
  • Linux: linux

И возможные значения для параметра arch:

  • 32-битная ОС: x86
  • 64-битная ОС: x64
  • armv7l (только для Linux)

Сборка для конкретной платформы

Чтобы упаковать приложение, используя электронный упаковщик, где бы вы ни находились, укажите абсолютный путь в качестве второго параметра в следующей команде, а затем укажите платформу и архитектуру. Вы можете опустить --platform, --arch, имя приложения, если вы хотите

electron-packager c:\electron-projects\our-code-world --platform=win32 --arch=x86 OurCodeWorld

Если вы уже находитесь в папке проекта с консолью, замените путь точкой (.), Чтобы использовать текущий путь:

electron-packager . --platform=win32 --arch=x86 OurCodeWorld

Обе предыдущие команды создадут дистрибутив вашего приложения в обеих архитектурах x86 и x64. Внутри вашего проекта будут созданы 2 разные папки с указанным именем в команде, названием платформы и архитектурой, каждая папка будет содержать необходимые файлы и папки для запуска вашего приложения на указанной платформе.

Встроенное и упакованное электронное приложение

И вы готовы делать то, что вы хотите с вашим приложением.

Сборка для всех платформ

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

electron-packager . --all

Обратите внимание, что команда будет создавать только платформы, доступные для ее платформы (т.е. в среде Windows, электронный упаковщик может собираться только для Linux и Windows).

electron-packager сделаем следующее с предыдущей командой:

  • Использовать текущий каталог для sourcedir
  • Вывести appname от productName в package.json
  • Вывести app-version от version в package.json
  • Скачать все поддерживаемые целевые платформы и арки Электрон с использованием установленного electron или же electron-prebuilt версия (и кеш загрузки в ~/.electron)
  • Для darwin построить, в качестве примера:
    • собрать OS X Foo Bar.app
    • место Foo Bar.app в foobar/Foo Bar-darwin-x64/ (так как out каталог не указан, используется текущий рабочий каталог)

Следующая команда выполняется в Windows:

Электронный упаковщик построить все

Необходимо создать следующие дистрибутивы в папке вашего проекта:

Сборка всех платформ электронных каркасов

Сгенерированные папки могут быть выполнены системой, работающей на указанной платформе. Как видите, для создания приложения для Mac вам нужно работать в среде Mac, как в Windows, это невозможно.

Повеселись !

Ссылка на основную публикацию
Adblock
detector