Как связать сторонний бинарный файл с Electron?

Я все еще новичок в разработке электронных экосистем и настольных систем в целом, но я хочу взаимодействовать с сторонним приложением с открытым исходным кодом, которое поставляется вместе с моим программным обеспечением. Во-первых, я не уверен, какими должны быть параметры пакета для распространения. Принято ли иметь две загрузки, одна для пользователей, у которых уже установлен сторонний бинарный файл, и другая, в которую он входит? Также, как мне на самом деле упаковать и установить бинарный файл? Должно ли это быть опцией на моем package.json? Какой сценарий я должен выполнить? Существуют ли модули npm для этого?

редактировать - возможно ли вызвать npm из моего main.js, даже если пользователь ранее не устанавливал узел? Я знаю, что узел связан с электронным пакетом, но тоже npm?

-Бинарный файл в этом случае это PostgreSQL

1 ответ

На мой взгляд, есть несколько вариантов.

  1. Поставьте сторонний установщик с вашим приложением. Это то, что я сделал недавно. При первом запуске я проверяю, установлена ​​ли нужная мне служба, и если нет, я вызываю сторонний установщик / запускаю ее. Когда установщик выходит, я просто app.relaunch() и начать потреблять его. Конечно, вам понадобятся установщики для каждой платформы, которую вы планируете поддерживать. И вам нужно будет найти способы проверить, установлено ли программное обеспечение (правильно) для каждой платформы.

  2. Пакет двоичных файлов с приложением. Конечно, вы можете связать практически все с вашим электронным приложением. Опять же, вам понадобятся двоичные файлы для каждой платформы, которую вы планируете поддерживать. И, конечно, они не должны быть связаны ни с чем, что пользователь по умолчанию не имеет на своей машине, например с SDK и дополнительными заголовками...

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

  4. Производная 1/2: загрузка необходимых материалов по требованию. Для вашего примера это будет означать проверку операционной системы и архива пользователя, а затем просто загрузить необходимые установщики или двоичные файлы, если они доступны. Вы также можете собрать материал на компьютере пользователя, хотя это, вероятно, худшее / самое большое / самое сложное решение.

  5. Тогда есть такие вещи, как https://www.npmjs.com/package/pg - вы всегда должны проверять npm, если кто-то уже собрал то, что вам нужно;)

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

Не стесняйтесь комментировать, если вам нужно больше информации.

Другие вопросы по тегам