#node.js #cordova #electron
#node.js #кордова #electron
Вопрос:
У меня есть гибридное приложение, которое я пытаюсь преобразовать в настольное приложение, добавив платформу electron вместе с Android и ios.
Cordova, похоже, поддерживает платформу electron, и просто ее выполнение cordova platform add electron
позволило создать окно, содержащее веб-приложение, но без привязки к плагинам.
Поскольку плагины были впервые написаны для iOS и Android, я хотел бы переписать их в NodeJS, но мне трудно найти какую-либо документацию об этом. В документации cordova я могу прочитать:
При добавлении плагина, если плагин поддерживает как платформу electron, так и платформу браузера, будет использоваться часть electron. Если плагин не содержит electron, но содержит реализацию браузера, он вернется к реализации браузера.
Но как я могу узнать, поддерживает ли плагин платформу electron? И как другие разработчики могут узнать, как сделать плагин совместимым с electron, если он нигде не упоминается, кроме раздела документации «платформа»?
Итак, вкратце, как мне настроить плагин electron для cordova?
Ответ №1:
Я не согласен с другими, которые говорят, что cordova-electron — это всего лишь браузер. В документации говорится, что если нет предоставленного плагина, специфичного для electron, произойдет возврат к реализации браузера.
Вот как связать родной c с чистым приложением electron. https://gauriatiq.medium.com/electron-app-with-c-back-end-as-native-addon-napi-c67867f4058
Имея это в виду, нам нужно только найти способ заставить плагин работать с этим.
Хотя это будет работать только на машинах, способных запускать родной c , вы можете представить, что может быть способ заставить плагины для конкретной платформы работать под эгидой electron.
Ответ №2:
Плагины Electron для Cordova на самом деле являются плагинами платформы «browser»
Все браузерные плагины можно использовать с платформой Electron.
При добавлении плагина, если плагин поддерживает как платформу electron, так и платформу браузера, будет использоваться часть electron. Если плагин не содержит electron, но содержит реализацию браузера, он вернется к реализации браузера.
https://www.electronjs.org/docs/faq#i-can-not-use-jqueryrequirejsmeteorangularjs-in-electron
Читайте о платформе браузера здесь
https://cordova.apache.org/docs/en/latest/plugin_ref/spec.html#platform
Комментарии:
1. На мой взгляд, этого недостаточно. Например, в «платформе браузера», на которую вы ссылались, вы можете выбрать одно из этих значений для имени:
ios, android, windows, browser, osx
. Вы нигде не видитеelectron
, должен ли я установить браузер? включен ли NodeJS в плагинах, даже еслиnodeIntegration
установлено значение false, а платформа является браузером?2. Только что сказал вам, что electron нет, платформа — браузер.