数据驱动篇:
组件化:
响应式原理:
diff算法篇:
模板编译篇:
总结:
整个Vue源码看下来感觉对自己的提升很大,学到了一些Vue底层api:Vue.extend
,$mount
等。也学到了一些编程技巧,比如尤大在处理不同平台拥有不同的DOM特性的时候,使用了函数柯里化的技术,将不同平台的API保留下来。也认识到了自己对JS底层认识的不足,部分原生的API没有见过,比如Object.entires
、with()
等。
个人觉得Vue源码中比较难的部分是响应式原理和模板编译。响应式原理中依赖收集以及派发更新这一块一开始非常的难理解;模板编译的话由于代码量非常的大,阅读起来非常困难。
不过总体来说还是一个一个克服了下来,感觉现在对整一个Vue的运作流程非常的清晰,日常开发中可以写出更少的bug,踩更少的坑了。
附录
以下是本人对于vue生态其他成员的源码分析: