如何在 cordova 插件中包含第三方 javascript nodejs 库?



我正在为一个内部项目开发一个Cordova插件,并希望将第三方开源Javascript库作为我的插件的一部分:bluebird promise库。

最简单的解决方案似乎是将蓝鸟 JS 文件复制并粘贴到我的www/目录中,然后将它们全部包含在我的plugin.xml文件中的<js-module>标签中,以便将它们复制到我的插件目录中。但我不认为这就是我想要的,因为它将我的插件与蓝鸟库文件的结构紧密耦合。

此外,我不知道这是否会以我可以简单地在我自己的插件的 JS 文件中执行var Promise = require('bluebird');的方式工作。

我对科尔多瓦的工作方式还很陌生,所以我不知道最好的前进方向是什么。我知道我希望能够使用上面的调用require在我需要的地方包含 bluebird,并且我希望以一种遵循 Cordova 工具链的最佳实践和这些天在 JS 中完成事情的常见方式的方式做到这一点;例如,使用 npm、gulp 和/或 grunt 将蓝鸟正确打包到我的插件中。

提前感谢您的任何指示。

您可以使用捆绑器。这些中的任何一个都可以:

  • 网络包
  • 浏览器化
  • JSPM

然后捆绑您的 JS 并将捆绑包与您的插件一起发布。

然而,就承诺而言,根据CanIUse的说法,iOS 8+和Android 4.4.4+支持Promise标准,Edge 12+也是如此。根据您支持的平台,您可能无需担心其他库(除非您使用的是 bluebird 特定的功能)。

或者,您可以允许用户将他们喜欢的 promise 库传递给配置方法(只要它符合规范),如果他们不覆盖它,则默认为本机 Promise(或您安装的蓝鸟库)。

如果你的库在 npm 中可用,很可能是这样,你可以使用 npm 包:cordova-import-npm

最新更新