简介一下个人阅读vue源码的姿势,有建议欢迎评论区补充哈~
一、源码阅读姿势
1. 先整体 - 后细节
- 先弄清楚源码分为哪几个模块,整套流程是怎么将各个模块串起来的。
- 然后细化了解每个模块的核心原理。
2. 站在别人的肩膀上
- 不用一股脑扎进源码仓库里一点点啃,这样很低效,适用于对源码较为了解的人
- 推荐先读别人的源码简介,源码分析,弄清楚脉络,还有每个部分的大概功能和核心流程。心里带着思路去看源码实现。
- 多数情况不需要逐行代码的细究,但针对某些核心功能的实现需要细究,例如:虚拟dom、diff算法、数据驱动、响应式实现以及组件化等核心的功能的核心实现推荐细看。
3. 读多遍
- 一次粗读:看整体流程,看每个模块的核心功能和职责,体会平时写的代码在源码里面经过了什么步骤体现到了页面上。
- 二次精读:看细节实现,弄清楚核心模块的实现方式(如弄懂diff算法思路,最好自己动手实现)。
- 三次领悟:领悟源码整体架构和设计思想,体会每个模块之间如何配合协作,架构如何组织。
二、步骤
- 依赖分析组装:路由、父子组件层级
- 模版编译:解析成AST语法树,进而构建虚拟dom树