我开始使用 Cordova 和 AngularJS 和 Ionic 构建“混合”移动应用程序。我可以通过在本地创建 html、js 和 css 文件并使用 file:// url 在浏览器中运行这些文件来构建示例应用程序。这工作正常,准备好后我可以运行cordova构建过程并在android模拟器中运行应用程序或将apk部署到我的设备。这一切都适用于我的简单演示应用程序。但是现在当我开始构建一个应用程序,它将使用 Angular 服务从本地存储(如果离线)加载 JSON,或者从远程 REST API 加载 JSON,我遇到了问题。在我开发过程中,从文件 url (file://myapp/index.html) 打开应用程序将导致浏览器无法对 REST 服务(不同来源等)进行 http 调用。
这似乎是一个非常基本的问题 - 所以我的问题是,其他人通常如何开发和测试 Cordova 应用程序?您是否总是在 Web 服务器(如 Node)上使用“www”文件进行开发?如果是这样,当您在 Cordova 应用程序中使用这些文件时,来自 file:// url 的 http:// 请求问题是否会成为问题?
更正:只要远程服务包含“Access-Control-Allow-Origin”标头,我就可以从本地文件系统上的页面访问远程 REST 服务。所以,我认为这回答了我的问题。我可以在本地文件系统上使用我的所有 html 和 js 进行开发,让 JS 进行远程调用,并通过使用 file:// url 在浏览器中运行进行测试。但这通常是您开发 Cordova/PhoneGap 应用程序的开发环境吗?