使用 Chrome 开发工具调试 PhoneGap 应用 已翻译 100%

oschina 投递于 2013/11/21 09:30 (共 3 段, 翻译完成于 11-21)
阅读 4580
收藏 75
5
加载中

PhoneGap/Cordova是创建移动APP一个很酷的框架,但也仍有些不足的地方,不能讲十全十美。 你怎么debug你的app? 假设你现在写一种不常规的app, 你需要给console.log更多的信息并且要十分耐心的调式你的app.有一种不完全的解决方案是使用Chrome Dev Tools. 说它不完全是因为有些PhoneGap特性不能在Chrome下运行, 但如果你的app更像一个移动网站,那么这会对你有很大的帮助。

我假设你已经可以编写一两个app且能调试,所以这里就不再涉及如何构建PhoneGap应用程序. 这里只会涉及到如何设置和使用 Chrome's Dev Tools来调试你的app。这篇文章实在Windows 7 下的说明,过两天将发布Mac版本的。

围观
围观
翻译于 2013/11/21 17:15
1

目录(文件夹)设置

我的所有的PhoneGap app共享同一个父级目录, "Repo". 所以我的建议是创建一个Repo站点. 当然, 有些人宁愿一个app为一个网站. 如果你也这么做, 这种方法依然可行, 只是改变了万盏的目录位置.

  1. 首先启动 Internet Information Services 7 (IIS7).。我的正还在开始菜单上,通常情况下他会在“管理工具”下。 

  2. 在左侧点击三角形,展开您的计算机名 (我的电脑的名字为TROYMILESF42B)。
  3. 展开站点列表。
  4. 右击Sites(站点)。

  5. 单击 Add Web Site...(创建站点...)。
  6. 给站点起一个名字,我的是"Repos"。
  7. 选择一个应用程序池,我选的是ASP.NET v4.0。
  8. 选择到你的根文件夹的路径。


  9. 如果你的机器运行的安全性高,您可能需要给它一个用户帐户运行授权。


  10. 我强烈建议设置80端口以外的端口,我使用的8088。
  11. 选中“立即启动网站”复选框。
  12. 单击确定.
  13. 使用浏览器,浏览到你的网站.

  14. 使用快捷键 Ctrl+Shift+I打开Chrome's developer's tools.
  15. 单击Sources 选项卡,然后单击箭头左上方显示的源文件。

     
  16. 双击一个文件名,打开该文件

  17. 设置一个断点, 只需点击一个行号的左侧。再次单击它可以禁用断点。右键单击它并点击,删除断点,将其删除。
围观
围观
翻译于 2013/11/21 17:33
1

这棒极了,但...

这些已经很棒了,但我们仍有问题. 我们不再有"设备就绪"事件,所以这很有可能破坏你的代码. 举个例子, 罗盘程序不经过PhoneGap的处理将不能正常有导航设备对象。 但,HTML的网站也好不了哪里去的。

我还在未解决"设备就绪"问题努力,但是还没有弄好.现在只是测试事件与替换了一些导航设备的测试数据。

围观
围观
翻译于 2013/11/21 17:03
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(9)

ZigzagV
ZigzagV

引用来自“林宝基”的评论

F:\chrome\chrome.exe --allow-file-access-from-files --disable-web-s
Ecurity


可以在本地直接调试 。解决跨域问题,不用再去部署个IIS
另外,,在MAC OS 下是不会有跨域 限制的。


good
awu
awu

引用来自“林宝基”的评论

F:\chrome\chrome.exe --allow-file-access-from-files --disable-web-s
Ecurity


可以在本地直接调试 。解决跨域问题,不用再去部署个IIS
另外,,在MAC OS 下是不会有跨域 限制的。


不错
jluflyingz
jluflyingz
我们一般是直接 python -m SimpleHTTPServer了,呵呵。。。
encro
encro
好吧,我不会告诉你。Cordova.js有desktop版,只要判断环境,在桌面加载下desktop就可以了。
七月天蓝
七月天蓝
同意楼上的,给chrome加参数就可以,不用起服务器
林宝基
林宝基
F:\chrome\chrome.exe --allow-file-access-from-files --disable-web-s
Ecurity


可以在本地直接调试 。解决跨域问题,不用再去部署个IIS
另外,,在MAC OS 下是不会有跨域 限制的。


傅小黑
傅小黑
诶。。。其实你就是在审查网页吧
tnjin
tnjin

引用来自“tnjin”的评论

不错,现在需要这种

不过我一般直接用本地页面来调试,最多就是涉及跨域问题的话,就设置一下chrome跨域
tnjin
tnjin
不错,现在需要这种
返回顶部
顶部