知乎问答:一年内的前端看不懂前端框架源码怎么办?以下是我的回答,阅读量 1000+。。链接:https://www.zhihu.com/question/350289336/answer/910970733
其他回答的已经很好了。
刚好最近在写学习源码整体架构系列,所以来回答下这个问题。先把 JS 基础打好。比如至少作用域、原型链、异步等要掌握好。数组、字符串、正则、对象等 API 一定要熟练,不熟练也可以查阅 MDN[1]文档,也可以看以下我推荐的文章熟悉一遍。【深度长文】JavaScript 数组所有 API 全解密[2]
JavaScript 字符串所有 API 全解密[3]
正则可以看这个《JavaScript 正则迷你书》[4]
对象 API 看我写的这篇~JavaScript 对象所有 API 解析 | 若川的博客[5]
掌握 API 后,再掌握 new、call、apply、bind,JS 的继承、JS 的 this 指向这些。关于这些,我写了一个面试官问系列,可以看看。若川的知乎专栏[6]
有了以上这些基础后,接下来就是先看相对简单的 JS 库或框架的源码。比如 jQuery、underscore、lodash、axios 这些相对简单的源码。
可以调试后打包后的源代码。也不用每个函数都知道是干嘛的,理清主线即可。
经过一系列的学习。刚开始可能看的很慢,不懂的地方查阅,记录下来,就是一种成长。这样就会有一定的正反馈。越容易持续看完。到后期看着看着,会发现调试一遍,很多代码都类似,很容易看懂,越学越快,越看越上瘾,那说明成长很快。
总结自己看完这个框架或者库的原理是什么,跟网上资料对比,学为已用。
有一定成长后,再去看 vue、vuex、vue-router、react、react-router、react-redux 等更大型的框架或者库的源码。
也可以看我写的学习源码整体架构系列来学习,学习 vuex 源码整体架构,打造属于自己的状态管理库[7] 基本都写了如何调试代码,我就是按照上述流程来学习的。