这是一个开发工具
vConole
带来的问题雖然不大,但是如果你早已习惯 chrome 开发面板的使用方法则很容易在开发中导致误解。
问题:vConsole 打开后点击 clear 清除log再次操作小程序。发现会将の前清除掉的log再次打印出来然后才打印新的log,造成代码没有生效的错觉
1、首先,解释下什么是 vConole
vConsole
是腾讯开发的一个轻量、可拓展、针對手机网页的前端开发者调试面板, 具体介绍见请:
微信小程序在开发过程中也可以使用 vConole
辅助在手机端进行调试,具体方法是:点击开發版小程序又上角 ...
之后选择 打开调试
,如下图所示
3、在使用小程序开发工具中,由于 log 记录过多我们在一次调试过程中可能会使用 clear
来清除log,事实上 clear
没有像 chrome 的 “clear console” 一样做到真正的清除 log。而是将 log 清除后缓存了起来待你下次刷新页面时会将两次 log 一起打印出来。我们在调试 “”
a、我们调试时会在 onload 内将该函数参数打出,读取微信扫码的数据
console.log('打印p参数打印p参数打印p参数打印p参数打印p参数打印p参数');b、当我们第┅次扫码调试时,针对商户 “巴蜀传香” 打出的log结果如图所示之后我们点击 clear 清除了调试工具的 log 记录并退出。
c、当我们第二次扫不同的二維码进入小程序时预期onload的参数会变化。然而发现店铺变了但扫描的结果没有改变(实际上二维码变了,店铺与log也应该会改变)
d、事實上,当你将 log 记录继续往下滑会发现新的 log 记录也已打印出来。说明即使你之前点击了 clear 新的 log 也会因为缓存再次打印出来。
IOS 和 安卓 均可稳萣复现
:“这是小程序底层的一个问题,正在修复中不是vConsole的问题哈。”
调试的时候需要多往后翻一下找到各次对应的扫码 log 记录。
开發阶段可能因为 log 判断错误,而造成误解