簡體   English   中英

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

[英]How to include third-party javascript nodejs library in cordova plugin?

我正在為內部項目開發 Cordova 插件,並希望將第三方開源 Javascript 庫作為插件的一部分:bluebird promise 庫。

似乎最簡單的解決方案是將 bluebird JS 文件復制並粘貼到我的www/目錄中,然后將它們全部包含在我的plugin.xml文件中的<js-module>標簽中,以便將它們復制到我的插件目錄中. 但我認為這不是我想要的,因為它將我的插件與 bluebird 庫文件的結構緊密結合在一起。

此外,我不知道這是否會起作用,我可以簡單地做var Promise = require('bluebird'); 在我自己的插件的 JS 文件中。

我對 Cordova 的工作方式還是陌生的,所以我不知道最好的前進方式是什么。 我知道我希望能夠使用上面的require調用以在我需要的地方包含 bluebird,並且我希望以一種遵循 Cordova 工具鏈的最佳實踐和在 JS 中完成工作的通用方式的方式來完成這些天; 例如,使用 npm、gulp 和/或 grunt 將 bluebird 正確打包到我的插件中。

預先感謝您提供的任何指示。

你可以使用捆綁器。 其中任何一個都可以:

然后捆綁您的 JS 並將捆綁包與您的插件一起發送。

然而,就Promise而言,根據CanIUse 的說法,iOS 8+ 和 Android 4.4.4+ 支持 Promise 標准,Edge 12+ 也是如此。 根據您支持的平台,您可能不需要擔心額外的庫(除非您使用 bluebird 特定的功能)。

或者,您可以允許用戶將他們最喜歡的 Promise 庫傳遞給配置方法(只要它符合規范),如果他們不覆蓋它,則默認為原生 Promises(或您安裝的 bluebird 庫)。

如果您的庫在 npm 中可用(很可能是這樣),您可以使用 npm 包: cordova-import-npm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM