知乎问答:一年内的前端看不懂前端框架源码怎么办?以下是我的回答,阅读量 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] 基本都写了如何调试代码,我就是按照上述流程来学习的。
我的博客可能阅读体验更好些。若川的博客[8]
如果最后发现,别人写的源码文章也不过如此,你也能写,能写得更好,那就是成长。
原创精选文章
微信公众号交流
主要发布前端 | PPT | 生活 | 效率相关的文章,长按扫码关注。欢迎加我微信lxchuan12(注明来源,基本来者不拒),拉您进【前端视野交流群】,长期交流学习~
参考资料
[1]
MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript
[2]
【深度长文】JavaScript数组所有API全解密: http://louiszhai.github.io/2017/04/28/array/
[3]
JavaScript字符串所有API全解密: http://louiszhai.github.io/2016/01/12/js.String/
[4]
《JavaScript正则迷你书》: https://juejin.im/post/59cc61176fb9a00a437b290b
[5]
JavaScript 对象所有API解析 | 若川的博客: http://lxchuan12.github.io/js-object-api
[6]
若川的知乎专栏: https://zhuanlan.zhihu.com/lxchuan12
[7]
学习 vuex 源码整体架构,打造属于自己的状态管理库: https://zhuanlan.zhihu.com/p/92906380
[8]
若川的博客: https://lxchuan12.cn/posts