Angularjs 如何调试ionic/angular/phonegap/cordova应用程序的白色屏幕?
我从事一个项目(+又称Phonegap) 我的项目的第一个代码行是4个月,昨天,应用程序不再在模拟器和真实设备上工作,但仍然可以在chrome窗口中工作。所以我想我的角度代码是正确的,但我不知道问题出在哪里,我也不知道如何处理它 开始时,我直接在我的Angularjs 如何调试ionic/angular/phonegap/cordova应用程序的白色屏幕?,angularjs,cordova,ionic-framework,Angularjs,Cordova,Ionic Framework,我从事一个项目(+又称Phonegap) 我的项目的第一个代码行是4个月,昨天,应用程序不再在模拟器和真实设备上工作,但仍然可以在chrome窗口中工作。所以我想我的角度代码是正确的,但我不知道问题出在哪里,我也不知道如何处理它 开始时,我直接在我的www文件夹中进行编码,然后使用devtools和设备仿真在chrome中进行测试,或者使用Apache Ripple扩展在chrome中进行测试,有时我会将其安装到我的真实设备(Nexus S)中 我最近在我的项目中安装了grunt和bower来执
www
文件夹中进行编码,然后使用devtools和设备仿真在chrome中进行测试,或者使用Apache Ripple扩展在chrome中进行测试,有时我会将其安装到我的真实设备(Nexus S)中
我最近在我的项目中安装了grunt和bower来执行常见任务,我决定重新组织我的项目文件夹
现在,我将代码编码到src
文件夹中,然后:
- 在chrome中测试之前,我运行grunt“dev”任务,它创建了一个
文件夹,并包含一个链接到www
js、html、css和其他res文件的专用index.htmlscr/
- 在emulator或real device中进行测试之前,我运行grunt“prod”任务,该任务创建一个
文件夹,包括构建或复制所有需要的文件到应用程序(app.min.css、app.min.js、模板、字体和媒体文件、图标)www
angular.module('app').run()
已执行,但APPCRL的第一个控制器从未执行
这是我的模块代码(这篇文章的重要部分):
显示的唯一警报是:
- app.run()运行
- AppCtrl正在运行
- MainCtrl正在运行
- HomeCtrl运行
有什么想法吗?此状态不存在
$urlRouterProvider.otherwise('/app/main/home');
我想应该是这样
$urlRouterProvider.otherwise('/home');
我解决了我的问题
事实上,我编写了一个httpRequestInterceptor工厂,它检查url是否必须签名才能使用RESTAPI
我的项目文件夹的结构最近发生了变化,导致此工厂有时返回错误的结果,然后对某些本地url进行签名,导致路由错误,然后出现白屏
如果您正在使用Parse(或类似的),请确保在代码中使用它们之前对它们进行初始化。这是白色屏幕的常见原因。我们使用gapdebug调试我们的ionic应用程序。你也可以在你的设备上实时调试,如果它插入到计算机上,并且是任何模拟器的一个很好的调试器 对我来说,我通过替换这个解决了这个问题
$stateProvider.state('nameOfState', {
templateUrl: '/templates/nameOfTemplate.html',
})
用这个
$stateProvider.state('nameOfState', {
templateUrl: './templates/nameOfTemplate.html',
})
尝试在“templateUrl”中的完整URL之前添加“.”。为我工作 将您的手机插入笔记本电脑-然后在Eclipse中运行LogCat并查看手机上的日志?我不使用Eclipse,但如果调试效果更好,我将同时研究此解决方案。请考虑我的编辑,我添加了一些调试信息。angular ui路由器无法执行AppCtrl,但我不知道为什么……您可以使用
adb logcat
获取日志,但如果您使用weinre,您已经拥有了这些日志。在启动应用程序之前,您是否正在收听deviceready活动?@QuickFix不,我不在这里,但我不知道您的建议是什么。事实上,我认为这是没有必要的,但是你可以发布一个示例代码来确保理解你的想法吗?对于Cordova,如果你不在启动应用程序之前等待deviceReady事件,你可能会遇到问题(主要是在访问插件时)。我还没有测试过爱奥尼亚,所以可能是内部处理的。不,你在这一点上错了。通过在.config()
方法中注入$stateProvider
,您可以看到,我使用带嵌套视图的角度ui路由器,然后URL彼此链接以指向最深的嵌套视图。这节省了我的时间!这个错误消息很容易引起误解,可能不是确切的问题,请阅读我的经验@phanikatakam.blogspot.in/2016/11/…-HydTechie刚刚编辑
$stateProvider.state('nameOfState', {
templateUrl: './templates/nameOfTemplate.html',
})