背景html
大学毕业快要一年了,用leader的话说我也是有一年开发经验的前端开发工程师了,输出是检验输入的最好方法,那我就慢慢来总结这一年来在工做中总结的经验教训,分享给你们,有不专业和不完善的地方,请你们多多指点反馈,比心~前端
作过一段时间的运营需求,一些主要在手机上浏览的页面,遇到的最大问题是调试的问题:chrome
对于简单的网络、APP环境的调试,咱们能够经过Chrome调试安卓机上的H5页面,经过Safari调试iPhone上的H5页面微信
对于一些复杂的网络、App环境的调试,如须要调试 HTTPS协议的接口,或必需要在某些 App 中才能调用的jsBridge 接口(如微信),致使难以在本地创建开发环境,须要将代码发到测试环境等以后才能调试,致使开发效率低下网络
本文将介绍一些可用的本地开发调试方法,提升你的开发效率,嘿哈~。微信开发
一.简单网络、APP环境的调试工具
需求:测试
调试嵌入App(Webview组件处于可调试状态)的H5页面,此H5页面调用了jsBridge接口(例如jockey接口)debug
难点:3d
H5调用了App的jsBridge接口,则此H5页面只能在此App里打开
1.经过Chrome调试安卓机上的H5页面
解决方案:
(1)安装Chrome 32或者以后的版本
(2)使用USB线将安卓机和Mac链接起来
(3)打开 USB 调试选项
在安卓设备上,进入设置>开发者选项>打开USB调试 (注意:在安卓 4.2 及之后的版本中,默认状况下开发者选项是隐藏的。要启用开发者选项,选择设置>关于手机而后点击版本号7次。)。
(4)在电脑端的Chrome里,在地址栏输入chrome://inspect。进入后确认Discover USB devices已经勾选了:
(5)在你的设备上,打开要浏览的页面,会跳出一个弹框,询问你是否要容许在电脑端进行USB调试。选择肯定。
(6)点击chrome://inspect/#devices 页面上的inspect即可以审查安卓机上的H5页面的元素了
2.经过Safari调试iPhone上的H5页面
解决办法:
(1)运行Safari,点击“Safari”菜单下面的“偏好设置(Preferences…)”,切换到“高级选项(Advanced)”:
(2)勾选“在菜单栏显示”开发”菜单(ShowDevelop menu in menu bar)”,关闭偏好设置。此时在Safari的工具栏出现“开发(Develop)”菜单:
(3)使用USB线将iPhone和Mac链接起来
(4)在iPhoneSafari打开要调试的H5页面,即可以调试了
二.复杂网络、APP环境的调试
需求:
在微信中调试H5页面的微信分享功能,http://m.signature.cn数字签名生成服务使用https协议通讯(好比 https://io.signature.cn),数字签名服务只容许*.signature.cn访问
难点:
(1)必须在*.signature.cn环境下进行调试,不然没法访问用来签名的https://io.signature.cn服务
(2)io.signature.cn服务使用https协议通讯,中间难以经过代理拦截
(3)分享相关微信jsBridge接口,只在微信App中存在,没法在本地开发环境调用
解决办法(适用于Mac):
(1)下载安装微信Web开发者工具,从这里https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html
(2)下载并安装 Charles,从这里http://xclient.info/s/charles.html
(3)打开Charles,按如图所示方式安装根证书
(4)在Proxy -> SSL Proxying Settings 中,加入 *.signature.cn 域名
(5)在Tools -> Map Local 功能中,加入须要代理到本地的线上 URL 到 本地文件夹的对应关系
(6)在微信开发者工具中,设置代理到 Charles 端口
(7)在微信开发者工具中,打开线上地址,能够看到 js 文件已经被替换,这时候能够在同时有线上 API 和微信 jsBridge 的环境下进行调试