2017-03-12 91 views
0

我有以下设置:从Visual Studio 2017年(在设备通过USB连接)从本地主机 调试科尔多瓦应用

  • 科尔多瓦应用程序加载的应用程序js文件

    • 运行科尔多瓦的应用程序(的WebPack dev服务器)

    这个功能在模拟器上非常好(除了我必须在每次更改之后重新启动模拟器的事实),但我无法使它在真实设备上运行。有两个问题:

    1. 似乎在科尔多瓦的所有网址都搞砸了,当我使用<base href="/"/>(我的角度2需要申请)。这可以通过使用直接文件URL来进行修复。

    2. 我不能访问本地主机(这是最容易出问题)

    我需要测试一些东西例如像支付,它们不适用于任何仿真器,并且希望直接从本地主机进行调试,而无需构建应用程序并每次发布它。

    是否有可能做些什么,以便我可以从我的设备上的Cordova调试存储访问权限,同时从本地服务的.js文件?

  • 回答

    1

    如果您使用的是Visual Studio 2017,那么您是否安装了Apache Cordova(TACO)的工具?有了这些,您可以在连接的设备上轻松地运行应用程序(我为该产品编写了文档,因此我测试了数百次:-))。关于在模拟器上运行,您还可以在Visual Studio中使用Cordova Simulate,每次更改后该应用程序都会自动刷新浏览器窗口。没有理由重新启动模拟器。 Cordova Simulate替换早期版本的TACO中包含的Ripple Emulator。

    我假设你正在尝试在连接到系统的Android设备上进行测试?别忘了,localhost指向运行该应用程序的设备。移动设备上的本地主机指向本地设备,而不是您正在从中调试的系统。要从Android设备访问本地PC,您必须指向10.0.2.2,这是Android设备打开的一个特殊地址,用于连接主机PC。您可以在我的博客(http://johnwargo.com/mobile-development/android-emulator-access-to-localhost.html)上阅读(稍微)一下。

    +0

    当您关联您的博客时,请确保它明显是您的博客。几句话,比如我的编辑,很多,只要扫描您的答案的任何人都可以知道这是您链接到的内容,那就很好。 –

    +0

    嗨,谢谢你的回答,我明白localhost是不同的,这就是为什么我问,不知道关于10.0.2.2,会尝试使用它:)关于浏览器中的模拟器,每当我做一个改变我的webpack控制的应用程序,模拟器马上死亡(现在不记得100%的错误信息,可以稍后检查)。所以浏览器确实刷新了,并且检测到了这个变化,但是我失败了,而不是应用程序。也许是因为我引用了另一个主机(webpack),而不是直接从文件系统引用。 –

    +0

    我不知道,但如果您提供详细信息(错误消息等),您将能够得到更好的帮助。你没有回答我的问题:你在使用TACO吗?如果不是,为什么不呢? Microsoft为科尔多瓦开发提供了一些非常令人惊叹的工具,并简化了整个流程。您可以将WebPack配置为VS构建过程的一部分,甚至可以将它用于Cordova Simulate。 – johnwargo