【问题标题】:How do I create a cordova plugin targeting electron platform?如何创建针对电子平台的 cordova 插件?
【发布时间】:2020-12-01 15:10:30
【问题描述】:

我有一个混合应用程序,我正在尝试将其转换为桌面应用程序,同时添加电子平台以及 android 和 ios。

Cordova 似乎支持电子平台,只需执行cordova platform add electron 就可以创建一个包含 webapp 的窗口,但没有插件挂钩。

由于这些插件最初是为 iOS 和 Android 编写的,我想用 NodeJS 重写它们,但我很难找到任何关于它的文档。在cordova documentation我可以阅读:

添加插件时,如果插件同时支持电子和浏览器平台,将使用电子部分。如果插件错过了 electron 但包含浏览器实现,它将退回到浏览器实现。

但是我怎么知道一个插件是否支持电子平台呢?如果除了文档的“平台”部分之外没有提到任何地方,其他开发人员怎么知道如何制作与电子兼容的插件?

那么,很快,我该​​如何为cordova设置一个电子插件?

【问题讨论】:

    标签: node.js cordova electron


    【解决方案1】:

    我不同意其他人说 cordova-electron 只是一个浏览器的说法。 文档说的是,如果没有提供特定于电子的插件,则将回退到浏览器实现。

    以下是如何将原生 c++ 链接到纯电子应用程序。 https://gauriatiq.medium.com/electron-app-with-c-back-end-as-native-addon-napi-c67867f4058

    考虑到这一点,我们只需要找到一种方法让插件与它一起工作。

    虽然这只能在能够运行原生 c++ 的机器上运行,但您可以想象有一种方法可以让特定于平台的插件在电子保护伞下工作。

    【讨论】:

      【解决方案2】:

      Cordova 的电子插件实际上是“浏览器”平台插件

      所有基于浏览器的插件都可用于 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

      【讨论】:

      • 在我看来,这还不够。例如,在您链接的“浏览器平台”中,您可以在以下值中选择名称:ios, android, windows, browser, osx。你在任何地方都看不到electron,我应该设置浏览器吗?即使 nodeIntegration 设置为 false 并且平台是浏览器,是否启用插件中的 nodeJS?
      • 刚刚告诉你没有电子,平台是浏览器。
      猜你喜欢
      • 1970-01-01
      • 2015-12-18
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多