活动/业务/移动端调试辅助工具

107 阅读2分钟

背景

前端h5在调试移动设备会非常麻烦,比如需要抓包啊、看日志啊、调试页面啊。 传统的方法是使用usb线将电脑与移动设备相连接后再定位问题,这样的操作非常操蛋。

chii的使用如下

作用

能让开发者不用连接usb线,就能在浏览器按了F12一样远程调试移动端页面。

安装

安装

npm install chii -g

启用

chii start -p 8080

要远程调试的前端项目的index.html注入如下代码

<script src="http://本地Ip:8080/target.js"></script>

注意:必须是192开头的自己局域网的ip,这样你的移动设备才能访问到页面。
举例 <script src="http://192.123.321.123:8080/target.js"></script>

开始调试

浏览器访问:http://localhost:8080/

手机访问要调试的前端项目:页面地址

pc端如图所示

image.png

点击进入之后,你就能像平常在pc页面上调试代码一样调试移动端的页面咯。

image.png

eruda使用如下

作用

移动端console.log日志打印与抓包

安装

# index.html
<script src="//cdn.jsdelivr.net/npm/eruda"></script> 
<script>
    eruda.init();
    eruda.position({x:0,y:200})
</script>

使用

image.png image.png

设置隐藏开关

在一定时间间隔内左下角点击区域超过15次就显示。

<!--eruda-->
<script async>
function handleCreateEruda(){
    let script = document.createElement('script')
    script.src = '//cdn.jsdelivr.net/npm/eruda'
    document.getElementsByTagName('head')[0].appendChild(script)
    script.onload = () => {
      eruda.init()
      eruda.position({ x: 0, y: 200 })
    }
}
let eruda_preTime = 0
let eruda_count = 0
let eruda_isopen = false
let eruda_minWidth = 0
let eruda_maxWidth = window.innerWidth / 5
let eruda_minHeight = window.innerHeight - window.innerHeight / 10
let eruda_maxHeight = window.innerHeight
function eruda_is_inzone({clientX, clientY}) {
  if (
    clientX <= eruda_maxWidth && 
    clientX >= eruda_minWidth &&
    clientY <= eruda_maxHeight &&
    clientY >= eruda_minHeight
  ) {
    return true
  } else {
    return false
  }
}
// 如果是本地或者测试环境就直接打开
if (location.hostname.includes('192') || location.hostname === 'testwww.xxx.mx') {
  handleCreateEruda()
  eruda_isopen = true
}
window.addEventListener('click',(data) => {
  let currentTime = new Date().getTime()
  if (eruda_isopen) {
    return
  }
  if (eruda_is_inzone({clientX: data.clientX, clientY: data.clientY})) {
    if (currentTime - eruda_preTime < 500) {
      count++
    } else {
      count = 0
    }
  } else {
    count = 0
  }
  eruda_preTime = currentTime
  if (count >= 15) {
    handleCreateEruda()
    eruda_isopen = true
  }
})
</script> 

就可以快乐的看日志与抓包啦~

whistle

作用

抓包与请求代理,常用于大公司进行联调的时候, 它的工作原理就是app发出去的所有请求,都会经过whistle,whistle在根据配置的信息进行数据请求,然后再响应回去。

安装

juejin.cn/post/709634…

启动

# 启动
w2 start

# 重启
w2 restart

# 停止
w2 stop

配置

whistle快速上手

配置host

# 当你网页访问www.google.com时,实际返回的相应是www.baidu.com内容。
www.google.com www.baidu.com 

资料

weiner的使用

远程调试工具chii

eruda调试工具,类似console.log

玩转 Chrome DevTools,定制自己的调试工具