繁体   English   中英

离子电容器-使用Cordova插件

[英]Ionic Capacitor - using Cordova plugins

我试图在iOS和Web上使用@ionic-native/http失败。 应用程序在两个平台上都启动,但是插件不起作用。

依存关系

  • 电容器:“ ^ 1.0.0-beta.19”
  • @ ionic / angular:“ ^ 4.1.0”
  • @angular:“ ^ 7.2.2”
  • @ ionic-native:“ ^ 5.0.0”
  • @ ionic / angular-toolkit:“〜1.4.0”

我希望涵盖最重要的内容。

重现步骤

应用程式

  1. ionic start myApp tabs
  2. npm install --save @capacitor/cli @capacitor/core
  3. npm run build --prod
  4. npx cap init <name> <id>
  5. npx cap add ios
  6. npx cap copy
  7. npx cap open ios
    • 常规->签名->团队

插入

  1. npm install cordova-plugin-advanced-http
  2. npm install @ionic-native/http
  3. npx cap sync
  4. 用它作为显示在这里

根据文档 (我可能会误解),应该是这样。

问题

尝试调用API时:

网页

Native: tried calling HTTP.get, but Cordova is not available. Make sure to include cordova.js or run in a device/simulator

我知道我本身不使用Cordova,但是它不应该被npx cap sync覆盖吗?

的iOS

[error] - ERROR {"line":38,"column":38,"sourceURL":"capacitor://localhost/tab2-tab2-module.js"}

我很幸运终于找到了更多信息。

的iOS

我不确定为什么,但是这个额外的插件对https://github.com/sneas/ionic-native-http-connection-backend有帮助。 可以通过HttpClient发出请求,它们使用Cordova插件,从而绕过代理。

网页

根据https://github.com/ionic-team/capacitor/issues/767#issuecomment-415481452,电容器无法在浏览器上工作

因此,我认为这是错误的。 前面提到的插件将通过HttpClient委派请求,因此尽管无法解决CORS问题,但对于浏览器而言,这是一个不错的解决方法。

此时的CORS问题可以由代理处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM