我正在测试使用Javascript Promise API的Cordova插件(https://github.com/mutualmobile/cordova-bluetoothle/blob/master/src/www/bluetoothle.js)。该插件将用于Android应用程序,该应用程序具有使用Chrome 30运行的webview。此版本的Chrome相对较旧,并且本身不支持Promise API。而不是使用Crosswalk我想使用promisejs.org(https://www.promisejs.org/polyfills/promise-6.1.0.js)中的代码将Promise API作为polyfill包含在内。任何人都可以建议如何将polyfill包含在上面链接的插件中?我已尝试将以下内容添加到plugin.xml
文件中,但似乎无法解决如何在bluetoothle.js
<js-module src="www/promise-6.1.0.js" name="Promise">
<clobbers target="promise"/>
</js-module>
非常感谢任何帮助。
答案 0 :(得分:0)
promisejs.org polyfill以非常规方式打包,您可以使用在模块末尾使用简单module.exports的taylorhakes/promise-polyfill。
为了保留本机Promise,只需改变以下的导出行:
module.exports = Promise;
为:
module.exports = root.Promise || Promise;
并将其添加到config.xml
<js-module name="Promise" src="www/Promise.js">
<clobbers target="Promise" />
</js-module>