前端必须知道的开发调试知识 | 青训营笔记

264 阅读2分钟

前端必须知道的开发调试知识 | 青训营笔记

这是我参与「第四届青训营」笔记创作活动的第7天

Chrome DevTools 调试

1、Elements

  • 点击 .cls 开启动态修改元素的 class

  • 输入字符串可以动态的给元素添加类名

  • 勾选/取消类名可以动态的查看类名生效效果

    image.png
  • 点击具体的样式值(字号、颜色、宽度高度等)可以进行编辑,浏览器内容区域实时预览

    image.png

调试伪类?

image.png

  • computed 下点击样式里的箭头可以跳转到styles面板中的css规则 image.png

2、console

  • console.log

  • console.warn

  • console.error

  • console.debug

  • console.info

  • console.table 可以具像化的展示JSON和数组数据

    image.png
  • console.dir

通过类似文件树的方式展示对象的属性

image.png

占位符

给日志添加样式,可以突出重要的信息 %s:字符串占位符; %o:对象占位符; %c︰样式占位符; %d:数字占位符

3、Sorce tab

Debug工具栏从左到右依次为:

暂停(继续)

单步跳过

进入函数

跳出函数

单步执行

激活(关闭所有断点)

代码执行异常处自动

调试方法:

在想要暂停的地方加 debugger; (断点)

image.png

也可以直接点一下想要停止的行号

image.png

source-map

前端代码天生具有"开源"属性,出于安全考虑,上线之前JavaScript代码通常会被压缩,压缩后的代码只有一行,变量使用'a'、b'等替换,整体变得不可阅读。那么压缩后的代码如何调试呢?

Sourcemap 就是一个信息文件,它里面存储着代码转换前后的对应位置信息,也就是转换压缩后的代码所对应的转换前的源代码位置,是源代码和生产代码的映射, Sourcemap 解决了在打包过程中,代码经过压缩,去空格以及 babel 编译转化后,由于代码之间差异性过大,debug 困难的问题。也就是精准报错,代码所处的文件,还有行数

开启source-map的方法:

image.png image.png

在webpack配置中设置devtool: 'none',那么就会关闭source-map

当我在production模式下,加入 devtool:"source-map" 选项,打包构建后,代码里多了很多个.map文件,这些个map文件里,就包含了源码路径

既然Source Map 可以映射源码,那压缩后的代码带上Source Map 上线不就又不安全了吗?

答:source-map主要用于监控,代码上线时为了安全是不上source-map的,把source-map上传到另一个平台,这样上线后别人看到的就是混淆的代码

4、Network

image.png

5、performance

image.png