Как мне создать плагин cordova, ориентированный на платформу electron?

#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 нет, платформа — браузер.