【Vue原理】看Vue源码,不会调试不行啊

栏目: 编程语言 · 发布时间: 4年前

内容简介:写文章不容易,点个赞呗兄弟专注 Vue 源码分享,文章分为白话版和 源码版,白话版助于理解工作原理,源码版助于了解内部详情,让我们一起学习吧研究基于 Vue版本

写文章不容易,点个赞呗兄弟

专注 Vue 源码分享,文章分为白话版和 源码版,白话版助于理解工作原理,源码版助于了解内部详情,让我们一起学习吧

研究基于 Vue版本 【2.5.17】

如果你觉得排版难看,请点击 下面链接 或者 拉到 下面 关注公众号 也可以吧

【Vue原理】学会调试Vue源码

调试是程序猿必备的技能,如果你不会调试,你的下场就是.........

【Vue原理】看Vue源码,不会调试不行啊

嗯,一样可以拿高工资............

【Vue原理】看Vue源码,不会调试不行啊

不过据我了解,连张鑫旭大佬都喜欢使用 console.log 调试,但是你以为别人不用,你就以为别人不会吗,你真的太天真了....

【Vue原理】看Vue源码,不会调试不行啊

下面的评论也是...看来同是天涯沦落人

【Vue原理】看Vue源码,不会调试不行啊

我在项目中也是使用 console.log 调试啊,但是阅读源码不一样啊,你试试一直用 console.log 调试,搞不死你

【Vue原理】看Vue源码,不会调试不行啊

好了,进入正题....

进入VSCode调试界面

是是是,让我们把眼睛移动到 VSCODE 左边活动栏 这边

1、有个小虫 【Vue原理】看Vue源码,不会调试不行啊 ,点击进入调试界面

2、或者按快捷键, ctrl+shift+D

错!其实第一步你应该打开 VSCode

创建调试配置文件

点击这个小设置按钮

【Vue原理】看Vue源码,不会调试不行啊

之后,会弹窗,让你选择调试的类型,我们选择 Chrome ,骚年

【Vue原理】看Vue源码,不会调试不行啊

Duang 的一声,你会发现自动生成了一个配置文件

【Vue原理】看Vue源码,不会调试不行啊

然后这一步你就成功了呗....到下一步了

配置调试配置文件

配置文件有很多选项,我只给出最简单的可以使用的版本

{    
    "version": "0.2.0",    
    "configurations": [
        {            
            "type": "chrome",            
            "request": "launch",            
            "name": "调试 Vue 的调用走向",            
            "file": "${workspaceRoot}/index.html",
        }
    ]
}

解释一下 ( • ̀ω•́ )✧

type

是你调试类型,你调试的是网页,还是调试 node。

现在我们调试网页,所以选择 Chrome

name

调试名称,随你起名字,起 个 xxxxxx

file

本地文件路径,调试 本地 文件( workspaceRoot 是项目根目录,以此来确定你的 html 调试页面 相对路径)

开始调试

打断点

在 文件的 序号一栏 的左边,可以标记红色断点

然后可以在序号栏 左边,看到你打的所有断点

【Vue原理】看Vue源码,不会调试不行啊

启动调试

点击下面的按钮,立即启动调试,等个几秒钟??

【Vue原理】看Vue源码,不会调试不行啊

启动成功

然后你发现 谷歌浏览器被自动启动了,然后你就成功了兄弟

看得到 浏览器 的 url 是你的 硬盘绝对路径,也就是你在配置文件里面配置的

【Vue原理】看Vue源码,不会调试不行啊

TIP:如果你启动调试期间出现什么问题,不要怕,度娘 或者 谷哥,资料很多,我也碰到很多问题,很正常

(~ ̄▽ ̄)~

调试 工具

启动调试成功之后,你可以看到 这个工具栏的出现

【Vue原理】看Vue源码,不会调试不行啊

我们来一个个看 每个按钮都是什么作用

【Vue原理】看Vue源码,不会调试不行啊

继续,跳断点,从一个断点 跳到 另一个断点

【Vue原理】看Vue源码,不会调试不行啊

单步跳过

跳过函数执行,就是 不进入函数内部,直接执行完函数,跳到函数下一个语句

TIP:但是如果你在这个函数的内部 打了断点,点击【单步跳过】你还是会进入函数内部,然后跳到函数内部最近那个断点那行

ヾ(●´∀`●)

【Vue原理】看Vue源码,不会调试不行啊

单步跳出

跳出 单签函数体,如果当前调试已经进入了某个函数,那么立即执行完当前函数,并跳出这个函数

TIP:但是如果你在这个函数的内部 打了断点,你可能跳不出去,而是跳到这个函数 内部最近的一个断点

【Vue原理】看Vue源码,不会调试不行啊

重启,重新启动调试,从头开始

【Vue原理】看Vue源码,不会调试不行啊

停止,关闭调试

**

举栗子 (´・ᴗ・`)

**

准备好文件

index.html,越短越好

<script src="./index.js"></script>

index.js

function fn1(name){    
var result = name+" fn1 处理过 "
    fn2(result)
}
function fn2(arg){    
return arg +" fn2 处理过 "
}
fn1("hoho")

01 新建调试文件launch.json

{    
       "version": "0.2.0",    
       "configurations": [
        {            
           "type": "chrome",            
           "request": "launch",            
           "name": "调试Demo",            
           "file": "${workspaceRoot}/index.html",
        }
    ]
}

02 打断点

【Vue原理】看Vue源码,不会调试不行啊

03 启动调试,来到第一个断点

【Vue原理】看Vue源码,不会调试不行啊

04 开始调试

先讲按钮使用流程

现在执行到 fn1 函数这一行,但是 fn1 还没执行

此时点击 【Vue原理】看Vue源码,不会调试不行啊

执行 fn1,进入 fn1 函数内部

进入 fn1 之后

一直点击 【Vue原理】看Vue源码,不会调试不行啊 ,直到执行到 fn2 语句

像下面这样,有条黄线,就表示执行到哪条语句

【Vue原理】看Vue源码,不会调试不行啊

1、点击 【Vue原理】看Vue源码,不会调试不行啊 ,会 立即执行完 fn2 ,不进入 fn2

2、点击

【Vue原理】看Vue源码,不会调试不行啊

,会 进入 fn2

如果进入了 fn2 之后

点击 【Vue原理】看Vue源码,不会调试不行啊

,会立即执行完 fn2 函数,跳出 fn2 函数内部

现在,我们

【Vue原理】看Vue源码,不会调试不行啊

【Vue原理】看Vue源码,不会调试不行啊

【Vue原理】看Vue源码,不会调试不行啊

三个按钮都使用过了,还剩

【Vue原理】看Vue源码,不会调试不行啊

我们在 fn2 处打多一个一个断点,然后重启

【Vue原理】看Vue源码,不会调试不行啊

你能看到 现在又是停到了 第一个断点处

【Vue原理】看Vue源码,不会调试不行啊

此时,你的小手一按

【Vue原理】看Vue源码,不会调试不行啊

,于是你便跳到了刚打的第二个断点

【Vue原理】看Vue源码,不会调试不行啊

观察变量值

1、可以把鼠标移动到 某个变量上,会显示一个弹窗,弹窗内容是 变量的值

【Vue原理】看Vue源码,不会调试不行啊

2、或者可以查看 左栏 调试栏的 变量

【Vue原理】看Vue源码,不会调试不行啊

观察函数调用流程

同样是查看左边的 调试栏,中的调用堆栈,可以看到 函数调用的顺序

明显可以看到 先调用 fn1, 在调用 fn2

【Vue原理】看Vue源码,不会调试不行啊

好的,如果你 有跟着做的,相信你已经入门了兄弟,是不是十分钟从入门到精通??

【Vue原理】看Vue源码,不会调试不行啊

调试Vue准备

index.html

引用 vue 文件、引用 vue.test.js 文件

<!DOCTYPE html>
<html lang="en"><head></head><body>
    <div class="a" >
        <testb></testb>
    </div>
    <script src="./vue.js"></script>
    <script src="./vue.test.js"></script>
</body>
</html>

vue.js

去官网下载生产版本即可

vue.test.js

作用是调用vue,创建一个简单的应用,现在给一个简单的模板

new Vue({    
    el:".a",
    data(){        
        return {            
            name:1
        }
    },    
    methods:{
        getName(){            
            this.name="修改----我是父组件a"
        },
    },
})

现在,你可以尽情去 vue 里面去打断点啦,额..... 虽然现在你还不知道打什么断点,不过不用怕!后面每次讲一块内容,你就可以去自己尝试啦

【Vue原理】看Vue源码,不会调试不行啊

结尾

好的,本次讲解完毕,调试就是这么简单,真的没有什么难的,

最后有什么不对的地方,感谢指出

希望本文会对你有帮助

好的,谢幕了

【Vue原理】看Vue源码,不会调试不行啊


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

百度SEO一本通

百度SEO一本通

潘坚、李迅 / 电子工业出版社 / 2015-6 / 59.00元

《百度SEO一本通》通过浅显易懂的叙述方式,以及大量的图示,详细介绍了SEO的关键技术要点,对于搜索引擎优化中重要的关键词优化、链接优化,以及百度推广中的推广技巧都进行了详细的介绍。 《百度SEO一本通》共分为11章,首先让大家了解SEO存在的原因,然后对网页、网站、空间和程序与SEO的关系展开了细节上的讨论,最后几章深入介绍了百度推广的相关概念、设置、技巧和实操,让读者可以轻松上手操作,易......一起来看看 《百度SEO一本通》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具