前端开发调试方法笔记 | 青训营

86 阅读2分钟

一、前端debug的特点

  • 多平台(浏览器、Hybrid、NodeJS、小程序、桌面应用)
  • 多环境(本地开发环境、线上环境)
  • 多工具(chrome devTools、Charles、Spy-Debugger、Whistle、vConsole)
  • 多技巧(Console、BreakPoint、sourceMap、代理等)

二、chrome devTools

image.png

element-网页的元素和样式

console-控制台,展示日志

image.png

image.png

sorce tab-展示项目源代码、代码预览、debug工具栏、断点调试

scope与call stack-scope可以查看作用域列表(包含闭包)、call stack可以查看当前js代码的调用栈

  P.S.压缩的代码如何调试?

-sourcemap

network-请求资源

application-与存储相关的信息

performance-网页性能

lighthouse-核心web指标

三、 移动端H5调试

  • 真机调试

image.png

  • VConsole

  • 使用代理工具调试
    常用代理工具:charles(查看、控制网络请求,分析数据)、fiddler(适合windows平台)、spy-debugger(远程调试手机页面、抓包)、whistle(基于Node实现的跨平台web调试代理工具)

四、Nodejs调试

  • Inspector Protocol + Chrome Devtool

  • Inspector Protocol +VS Code

五、常用的开发调试技巧

  • 线上即时修改Overrides
  • 利用代理解决跨域问题

image.png

  • 启用本地的source map
  • 使用代理工具mock数据

六、跨域相关知识

学习链接1

学习链接2

  • 什么是跨域?

是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。

协议、子 域名 、主 域名 、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。

  • 跨域的方法:
    • JSONP原理
      利用script元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 数据

    • 跨域资源共享CORS
      它允许浏览器向跨源的服务器,发出XMLHttpRequest请求,从而克服AJAX只能同源使用的限制 。实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信

    • Nginx代理
      proxy代理是前端用的最多的解决跨域的方法。 即配置一台和浏览器相同端口的服务器,浏览器访问代理服务器,代理服务器向目标服务器发送请求,由于服务器之间不存在跨域问题,代理服务器就可以拿到请求数据,而后因为浏览器和代理服务器端口号一致,不存在跨域问题,因此浏览器不会拦截从代理服务器收到的数据,顺利拿到请求数据