【问题标题】:Ionic Capacitor - using Cordova plugins离子电容器 - 使用 Cordova 插件
【发布时间】:2019-08-14 07:10:34
【问题描述】:

我试图在 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. here所示使用

根据documentation(我可能误解了)应该是这样。

问题

尝试调用 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"}

【问题讨论】:

    标签: angular cordova ionic-framework capacitor


    【解决方案1】:

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

    iOS

    我不太确定为什么,但这个附加插件帮助了https://github.com/sneas/ionic-native-http-connection-backend。可以通过HttpClient 提出请求,他们使用 Cordova 插件绕过代理。

    网络

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

    所以我的假设是错误的。之前提到的plugin 将通过HttpClient 委托请求,因此它对于浏览器来说是一个很好的解决方法,尽管不会解决 CORS 问题。

    此时的CORS问题可以通过proxy处理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-13
      • 2020-11-24
      • 1970-01-01
      • 2017-12-23
      • 2021-04-13
      • 1970-01-01
      • 2021-10-10
      • 2015-01-03
      相关资源
      最近更新 更多