写在前面
最近又抽时间把 vue-next/runtime-core
的源码陆陆续续地看完了,期间整理了很多笔记,但都是碎片化的。本来是想整理一下,写成一篇文章分享出来的,但是感觉最终的成果物只能是一篇篇幅巨长的解析文,就算我一行一行的把源码加上注释,其阅读体验也会很差,因为每个人读代码的习惯不同,思路不同。正所谓抛砖引玉,所以,我觉的写一篇向导文作为这块砖应该是足够了,希望可以帮助到想看源码但觉得无从看起、无从下手的读者。
另一方面,也算是给自己挖一个坑,因为这篇文章中涉及到的很多内容,三言两语肯定是说不清的,这就意味着之后必须要写其他文章来填补这些空白。我会尽可能的将高内聚的模块整理到一起,然后再分享出来,尽量避免陷入罗列代码的境地,从而提高文章质量吧。
阅读笔记我托管在语雀上,不嫌乱的也可以看这里。
准备工作
工欲善其事,必先利其器,要看源码,拿写字板来看肯定是不行的(当然也不排除牛人)。你所需要的就是一个支持代码跳转的编辑器即可,我用的是 VSCode
,当然了,如果你用 VIM
、Sublime
也是可以的。
另外还需一些储备知识:
- 由于是阅读
vue-next
的代码,并且是pre-alpha
的版本,这就要求你对之前vue
有一定的了解,如果是第一次接触,我觉的阅读源码的意义也不是很大 - 需要熟练掌握
debug
的基础技巧和流程,通过debug
的方式来看代码有两个好处- debug 过程有清晰地调用栈记录
- 各种作用域下的变量一目了然
- 需要对
typescript
有一定掌握程度,最起码给知道interface
、enum
等概念
如何阅读
一般有三种途径:
- 直接看
- 通过单元测