微信小程序开发系列教程三:微信小程序的调试方法
微信小程序开发系列教程
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8o9HkQ7GtReqp0ljIrqYUGwfkspuGEZGSelhZkoAB92AscTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVdFFJQhNZmPR9GXZgHSMOpmT-LQ65_K1aUUOd8tUFmNE.jpg)
这个教程的前两篇文章,介绍了如何用下图所示的微信开发者工具自动生成一个Hello World的微信小程序,并讲解了这个自动生成的微信小程序的视图开发原理。
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8wqH24O_ObMY4oiA7SAWPtKI0v5xHRk6aLGyZfn8zs38scTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVbSde5GZufnEzUg3D5l8dQ2T-LQ65_K1aUUOd8tUFmNE.jpg)
这个系列的下一步,会继续介绍这个微信小程序的控制器index.js的实现。在上一篇微信小程序视图源代码的讲解里,我们通过逐行讲解代码的方式,介绍了微信小程序视图的基本开发思路。但是讲控制器index.js, 仅仅采取静态的代码走查还不够,我们需要将微信小程序启动起来,通过单步调试的方式逐行讲解,通过控制器的调用上下文能对微信小程序的控制器实现有更深入的了解。
为此我们先要学会微信小程序的调试方法。
打开微信开发者工具,点击工具栏的“调试器”按钮:
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8qNHAel-JMBpuv7xeXTUDvqPrTl1GWfWO5XApEDs-HR0scTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVbSde5GZufnEzUg3D5l8dQ2T-LQ65_K1aUUOd8tUFmNE.jpg)
开发者工具右边的区域现在从上到下一分为二:上面蓝色区域还是代码编辑页面,下面红色区域就是微信小程序的调试工具。
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8pDqeYHEiNbQqNwtNDv0A33jfo0kkdiHfWxmV6bNvyI8scTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVbSde5GZufnEzUg3D5l8dQ2T-LQ65_K1aUUOd8tUFmNE.jpg)
做过前端开发的朋友们,可以一眼就看出这其实就是Chrome的开发者工具。
我在我的微信公众号“汪子熙”上也写过一篇Chrome开发者工具的使用技巧介绍,感兴趣的朋友可以去看看:
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8_TShmAlk0PMsX47pTafRa9KEaVik2fqiWB2FNLJeOvcscTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVXj5z-1gnOZUpa0dwSLTX5__IsNR4b6vPkB3LNWBww2G.jpg)
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8-PbbULSt1V4TgrzQq1qxvspKXUe9cuEvEIqLCc3scCYscTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVbSde5GZufnEzUg3D5l8dQ2T-LQ65_K1aUUOd8tUFmNE.jpg)
在调试器里打开我们的控制器index.js, 单击行号"3", 然后行号3自动被高亮,说明第3行已经成功设置好了一个断点。
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8y2eQbWaLhDwfzQM62hnUjujGH26F2RmcilPRo023MeUscTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVbSde5GZufnEzUg3D5l8dQ2T-LQ65_K1aUUOd8tUFmNE.jpg)
点击“编译”按钮,我们的小程序自动启动,设置在控制器里的断点就自动触发了。这样我们就可以通过单步调试的方式来学习微信小程序控制器的调用上下文了。
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8wY0ygRUsAXJ3KXcSKbFENjTVxuDAkn3XO_MUM6E8fg4scTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVbSde5GZufnEzUg3D5l8dQ2T-LQ65_K1aUUOd8tUFmNE.jpg)
微信小程序的调试器在手机上仍然可以打开。在手机上访问微信小程序,点击屏幕右下角的vConsole按钮。
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8IiejorNvxQiWCnS82YDN9hUXWhzYmjb2MImxq-fVqskscTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVbSde5GZufnEzUg3D5l8dQ2T-LQ65_K1aUUOd8tUFmNE.jpg)
接着整个手机屏幕就被微信小程序的调试器充满了。这个调试器和电脑上安装的微信开发者工具相比,仅仅能显示日志和执行一些简单的JavaScript操作,但是不能像电脑上那样,进行JavaScript代码的调试。
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8shoy-JagTet-3dj8bmYfgSJY5XW5bRgwXySgot33LLEscTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVbSde5GZufnEzUg3D5l8dQ2T-LQ65_K1aUUOd8tUFmNE.jpg)
我们注意到上图的“command...”输入框可以输入一些简单的JavaScript命令,比如console.log("Jerry")。
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8Ln67NMQKPcVn9FtZvWNR153hGJEFAhmc5pJa4d_JgOgscTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVbSde5GZufnEzUg3D5l8dQ2T-LQ65_K1aUUOd8tUFmNE.jpg)
然后可以在手机的调试器上看到输出的Jerry:
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8AZBKb49S0_Pa3BqzfwiRa0-OWw4AeuodLCRUO2izA80scTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVbSde5GZufnEzUg3D5l8dQ2T-LQ65_K1aUUOd8tUFmNE.jpg)
System标签页可以看到一些微信小程序性能相关的参数和性能参数:
MicroMessenger版本号:6.6.6
Wechat lib: 库文件版本2.0.9
navigation: 3ms 跳转时间3毫秒
domComplete(domLoaded): dom加载总共花费19毫秒
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8qOXKM6CUswMtjeCvIvVANqe6nFwM8RdkYI9r893hsq0scTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVbSde5GZufnEzUg3D5l8dQ2T-LQ65_K1aUUOd8tUFmNE.jpg)
WXML标签页能显示当前渲染好的视图的明细:
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8Q_tHVpv4rqfVJvcubB0WyMviCvleANrVeMuSjLtGQPQscTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVbSde5GZufnEzUg3D5l8dQ2T-LQ65_K1aUUOd8tUFmNE.jpg)
大家熟悉了微信小程序的调试器,就能开始下一章节关于微信小程序控制器的学习了。
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8zW48pqpDKnj4GYbZytCm1w2vf_r1XRgDM4Fere25rNsscTCfsrs63c479zLGuwUxaMyZD3shmd8BUYQBXGheVflqDue8LCP8AJOGa0oPnFiT-LQ65_K1aUUOd8tUFmNE.jpg)
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8zwJxvFWwcbHxopqz58hXD6g8GeKlkYtLjOoIeOW2edAP-PpFD76OUWGM57t7CEKQ7qC4HCdHZEnGUWeSsil815eZaGeqBOhs3qldE2xLkWZmNO8ZDAkaHTe06cHzcrIx.jpg)
![微信小程序开发系列教程三:微信小程序的调试方法 微信小程序开发系列教程三:微信小程序的调试方法](https://cdn.ancii.com/article/image/v1/V1/gl/_d/d_g1lVoFnaHF66uLvjLNgrNwLOlgxjAwTZLe7DAT3x2t904_cuYFw1FRoLgZPQB8cmgOJC4D8kSlUPIHr6etJ5VSMcLrJMboLS-PjY84bIsP-PpFD76OUWGM57t7CEKQ7qC4HCdHZEnGUWeSsil818NOM-SYxbINt1Exa_4cYubMmE7PboFomS2ziSMb4EX7.jpg)