离子电容器 - 使用 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-工具包:“~1.4.0”
我希望涵盖最重要的部分。
重现步骤
应用程序
ionic start myApp tabs
npm install --save @capacitor/cli @capacitor/core
npm run build --prod
npx cap init <name> <id>
npx cap add ios
npx cap copy
npx cap open ios
- 一般 -> 签约 -> 团队
插件
npm install cordova-plugin-advanced-http
npm install @ionic-native/http
npx cap sync
- 如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"}
我很幸运终于找到了更多信息。
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 issue at this point can be handled by a proxy.
我试图在 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-工具包:“~1.4.0”
我希望涵盖最重要的部分。
重现步骤
应用程序
ionic start myApp tabs
npm install --save @capacitor/cli @capacitor/core
npm run build --prod
npx cap init <name> <id>
npx cap add ios
npx cap copy
npx cap open ios
- 一般 -> 签约 -> 团队
插件
npm install cordova-plugin-advanced-http
npm install @ionic-native/http
npx cap sync
- 如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"}
我很幸运终于找到了更多信息。
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 issue at this point can be handled by a proxy.