【移动端调试】- VConsole,诸葛亮看了都说好!

1,941 阅读2分钟

image.png

「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战

当我第一次接触正儿八经的接触app混合开发的时候,一直有个疑问,移动端在真机上是如何调试的呢?好在,这些问题并不需要我去考虑,大佬们都写好了,我只负责缝缝补补bug。有一次问大佬,在真机上如何查看接口,有没有类似f12控制台一样的东西?大佬跟我说想看哪个页面,就在哪个页面的右下角快速点点点点点5次就会出来了。

image.png
还有这种操作吗?抱着试一试的态度,我随便找了个页面,照着大佬的方法试了试,果然,出现了控制台!!!询问后才知道这是用了一个叫vconsole的插件

image.png

VConsole是什么

VConsole 一个轻量、可拓展、针对手机网页的前端开发者调试面板。

使用方法

安装

 npm install vconsole

引入

    // main.js
   import vConsole from 'vconsole'
   let VConsole = new vConsole()
   Vue.prototype.vconsole = VConsole //这里我们把这个方法放到vue原型上,方便我们在页面中调用 

以上2步操作完成后,在重启我们的项目就会发现在页面的右下角有个vConsole的按钮,就可以使用了。我们打开控制台也能看到页面的dom结构、api接口和缓存这些信息。

方法

当然,vconsole中也会有一些特定的方法,常见的方法如下

  • vConsole.show()--显示 vConsole 主面板
  • vConsole.hide()--隐藏 vConsole 主面板
  • vConsole.showSwitch()-- 显示 vConsole 的开关按钮。(vConsole的按钮)
  • vConsole.hideSwitch()-- 隐藏 vConsole 的开关按钮。
  • vConsole.destroy()-- 将 vConsole 面板从页面中移除。

对比

经实测,vConsole 的开关按钮默认是显示在页面的右下角。并不需要连点5次后才显示,这也解除了我当时的疑惑,继续研究一下这个功能是如何实现的,

image.png 研究发现,这边是在window上添加了一个方法,动态的在页面的右下角创建一个div,当我们连点右下角6次的时候就会触发show()方法(感觉有点多此一举,小声bb),而且这种写法有个比较严重的弊端。因为我们是先打开的页面再去点开控制台,那么初始化的一些接口在控制台上是看不到的,也会影响我们的调试。我们来稍加改动一下
本着最小改动的方法,我们直接在app.vue中添加代码

   mounted() {
      setTimeout((
      )=>{
        $('#__vconsole').show()

      },1000)
    }

这样我们打开项目后就会直接显示vconsole按钮,而且不管在初始化还是切换页面的时候都能抓取到页面信息了。

image.png