我终于学会的前端技能——代码调试、打断点

在技术的世界里,要用魔法来打败魔法

说来惭愧我做前端已近三年了竟然还没有学会如何调试代码,也就是给自己的代码打上断点一步步看它的运行状态以达到理清代码运行逻辑、排查问题提升开发效率的目的。直到最近我才学会了这一技能,在这之前我用的还是在代码中用console.log的方式去调试,使用这种方法也不是不好,在大多数情况下它绝对适用,如果遇到稍微复杂点的代码执行逻辑console.log就显得力不从心了。根据我的经验来看使用console.log的优点是:简单便捷,比如你想查看某个变量的最新状态或者是查看从服务端返回的最新数据,你只需要在自己的代码中通过console.log将其打印出来即可,然后你在浏览器控制台中就能看见打印的效果。缺点是:让代码看上去混乱,比如我为了调试某段代码而写了很多个console.log而调试完之后我又忘了将它们删除,往往我就是这样的一个人,放眼望去代码中到处是console.log看上去很乱;再一个就是如果是复杂逻辑并不适用console.log例如复杂的条件语句、一个方法的执行依赖其他方法,这些显然无法胜任,因为无法看到代码每一步的执行状态。我觉得作为一名合格的前端一定要掌握前端调试的技能,会了调试你的开发效率就会提高,而且如果想进阶看一看框架源码的话调试技能也是必备的。

我是如何学会前端调试的?

我经常看到别人调试代码的时候就好羡慕咔咔咔一顿操作感觉好厉害啊,可自己就是学不会不善于使用断点的方式调试代码,觉得这玩意儿操作起来好复杂,还不如我的console.log用的顺手呢,就这样我一直呆在自己的舒适区,直到有一天我接触到了源码相关的知识方才意识到学会调试的重要性,后来我在掘金上买了前端调试的小册开始了我的前端调试之路。也是在最近一周我学会了调试的技能,学完之后就立刻派上了用场,断点调试其实也没有想象的那么复杂,你在需要断点的位置打上一个断点就行然后代码执行到哪里就会自动的进入断点的,在断点上你可以查看变量的值,参数的最新状态等等。遇到问题后一个断点就能快速的定位到问题所在。

如何进行前端代码调试?

我开发使用的是vue3所以就以vue3项目为例来开启一个调试,首先用VSCode打开一个vue3项目,在左侧侧边栏找到点击调试按钮,点击创建一个launch.json调试配置文件。如果找不到那个调试的按钮可以在侧边栏上鼠标右击在弹出的框中把运行和调试勾上就行了。

然后在弹出的下拉框中选择Chrome会创建一个文件,然后将url改为你自己启动的前端服务即可,比我的前端服务是http://localhost:3000 改为对应的就行了

点击这里会打开一个新的浏览器窗口,就能够开启调试.

上面的几个按钮分别对应的是 :继续执行、单步执行、进入函数调用、跳出函数调用、重启、关闭调试。它是悬浮在vscod中的,如果觉得它挡住了打开的某个文件可以把鼠标放到最左侧六个小方块上面把它移动到别的位置上去,刚开始我还以为它不能动是固定在哪里的呢。

如何打断点?

在你想打断点的代码前面的位置点击一下就能看到一个红色的小点,证明这里已经打上断点了,比如我在main.js文件中这个位置上打了一个断点想看一下orderStatus中都有些什么,然后再点击上面的重启按钮。

此时代码已经在断点处断住了,你就可以在这里查看orderStatus中都有些什么,这样直接在vscode中就可以查看,而不需要频繁切换浏览器与vscode的窗口

在vscode的左侧面板还可以查看当前变量、调用堆栈、断点情况这些信息一目了然,极大地提升了我们的开发效率。这样就能愉快的编写代码边调试了,遇到什么问题一调试便知问题所在。

这东西光看一遍可不行,还是得上手操作才行,在日常工作中将它用起来,所谓熟能生巧嘛!多多练习就能掌握这一技能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/412977.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Neos的渗透测试靶机练习——DarkHole-1

DarkHole-1 一、实验环境二、开始渗透1. 搜集信息2. sql注入4. 提权 三、总结 一、实验环境 虚拟机软件:VirtualBox 攻击机:kali linux(网卡初始为仅主机模式,要有安全意识) 靶机:DarkHole-1(网…

磁盘位置不可用怎么修复?

磁盘位置不可用是计算机使用中经常遇到的问题。造成磁盘位置不可用的原因有多种,其中最常见的是磁盘文件系统损坏。当文件系统损坏时,操作系统无法正常访问磁盘上的数据,导致磁盘位置不可用。 磁盘位置不可用怎么修复? 当磁盘位置…

2024年北京市安全员-C3证证模拟考试题库及北京市安全员-C3证理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年北京市安全员-C3证证模拟考试题库及北京市安全员-C3证理论考试试题是由安全生产模拟考试一点通提供,北京市安全员-C3证证模拟考试题库是根据北京市安全员-C3证最新版教材,北京市安全员-C…

探索数据之美:深入Seaborn的数据可视化艺术与技巧【第26篇—python:Seaborn】

文章目录 1. 引言2. Seaborn基础2.1 安装和环境设置2.2 常用数据可视化函数2.3 设置样式和颜色主题 3. 数据准备与导入3.1 使用Pandas库加载和处理数据3.2 数据清理和缺失值处理 4. Seaborn中的常见图表4.1 折线图和散点图:展示趋势和变量关系4.2 条形图和箱线图&am…

个性化定制的知识付费小程序,为用户提供个性化的知识服务

明理信息科技知识付费saas租户平台 随着知识经济的兴起,越来越多的人开始重视知识付费,并希望通过打造自己的知识付费平台来实现自己的知识变现。本文将介绍如何打造自己的知识付费平台,并从定位、内容制作、渠道推广、运营维护四个方面进行…

Spring Boot 优雅实现统一数据返回格式+统一异常处理+统一日志处理

在我们的项目开发中,我们都会对数据返回格式进行统一的处理,这样可以方便前端人员取数据,当然除了正常流程的数据返回格式需要统一以外,我们也需要对异常的情况进行统一的处理,以及项目必备的日志。 1. 统一返回格式 …

归并排序(C语言)

目录 1.归并排序图解 2.归并排序(递归版) 3.归并排序(非递归版) 1.归并排序图解 归并排序的核心思想是让左右两边有序的部分进行合并比较排序,具体什么意思呢?分两点: 1.分:左右两边…

【数据结构】排序之归并排序与计数排序

个人主页 : zxctsclrjjjcph 文章封面来自:艺术家–贤海林 如有转载请先通知 目录 1. 前言2. 归并排序2.1 递归实现2.1.1 分析2.1.2 代码实现 2.2 非递归实现2.2.1 分析2.2.2 代码实现 3. 计数排序3.1 分析3.2 代码实现 4. 附代码4.1 Sort.h4.2 Sort.c4.3…

没有自动化测试项目经验,3个项目帮你走入软测职场!

学习自动化测试最难的是没有合适的项目练习。测试本身既要讲究科学,又有艺术成分,单单学几个 API 的调用很难应付工作中具体的问题。 你得知道什么场景下需要添加显性等待,什么时候元素定位需要写得更加优雅,为什么需要断言这个元…

1. 安装Git

01. 安装Git 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。 要使用Git,第一…

centos7 arm服务器编译安装gcc 8.2

前言 当前电脑的gcc版本为4.8.5,但是在编译其他依赖包的时候,出现各种奇怪的问题,会莫名其妙的中断编译。本地文章讲解如何自编译安装gcc,替换系统自带的gcc。 环境准备 gcc 需要 8.2:下载地址 开始编译 1、解压gcc…

智能反射面—流形优化

使用Manopt工具箱适合优化最小化问题,如果你的优化问题是最大化问题,那么需要将其转换为最小化问题然后使用Manopt工具箱求解。 具体安装过程 Matlab添加Manopt - 知乎 (zhihu.com) 优化问题 clc,clear; close all; srng(1);%rand seed N10; GR_num1e3…