Vue.js 3.0 核心源码解析 - 前百度、滴滴资深技术专家 - 拉勾教育

不知不觉我们的课程已经走到了尾声,不知道现在的你,还有没有刚学习这门课的兴奋感呢?在开篇词,我曾提到过 “这门课我不仅希望帮你深入理解 Vue.js ,更希望带你提升读源码的能力,提升技术实力”,不知道经过几个月的学习,你是否有一定的进步呢?

源码学习相比实战课程的学习,显得既抽象又枯燥,难以坚持下去,但是请你不要放弃,在学习的路上遇到困难是非常正常的,我建议你多看几遍课程,动手去写 Demo,去用 debugger 单步调试,当然你也可以给我留言。

一旦你学进去了,学通了,源码的学习就会变得轻松有趣且非常有成就感,那种一拍大腿,恍然大悟的感觉会非常的爽。相应的,源码大多是用原生的 JavaScript 编写的,学习过程中你的原生 JavaScript 的功力也会得到提升,因此你的技术能力一定会往上迈一个台阶。

技术强了,你就有了升职加薪和跳槽的资本,吃技术这碗饭最硬核的实力就是技术本身。事实上,我之前有很多进了大厂的学生,无一例外都是源码课学的不错的。其中我最得意的一个学生,通过学习我的课程进入了滴滴,他不仅深入学习了 Vue.js 源码,还深入了解了 Webpack 的源码,遇事看源码,他的技术视野得到了很大的拓宽,通过自我驱动不断地学习,他的技术能力也是突飞猛进,还负责了 BetterScroll 2.0 重构,现在已经升级到了 D7,成为了滴滴前端架构组的核心成员之一——源码强的人真的可以为所欲为!

另外,为了激发你的学习兴趣,我在每节课的结尾都加了一个开放性的问题,其实目的就是为了希望你能主动学习,主动思考。到目前为止我也没在课程中公布答案,因为我希望你可以养成独立思考的习惯,在我看来,思考的过程比答案本身更重要。

是终点也是起点,虽然这门课你学习完了,但是在源码学习的道路上,这只是一个起点。我希望你养成看源码的好习惯,掌握学习源码的思路和方法,去学习更多的源码实现。

那么,你应该学习哪些源码呢,记住,一定要和你的工作相关。以我自己为例,我工作的主要技术栈就是 Vue.js,我们的组件库 zoom-ui 是 fork 了 ElementUI,在它的基础上做了全面的重构和组件增强。此外,我们的 Vue-csp 版本也是 fork 了 Vue.js 2.6.11 版本,在它的基础上修改了编译过程。我了解了它们的源码后,做这些工作自然就游刃有余了。

当你源码读多了,你就可以学到不少好的编程经验,设计思想甚至是一些奇技淫巧,你也要学着吸收到你平时的工作中。其实,Vue.js 3.0 也参考了很多优秀的开源实现,比如 reactivity 库就参考了observer-util,patch 的实现参考了inferno,尤大也是站在巨人的肩膀上,才创造了这么优秀的前端框架。

写在最后

当然,作为一个负责任的老师,我也会对课程中抛出的问题负责的,我打算未来不定期地在我个人公众号写下我对这些问题的思考,欢迎你关注。

结束语 | 终点也是起点 - 图1

学习没有捷径,能真正能成为大牛的人,能够直面困难和挫折,敢于跳出自己的舒适区追求进步,能熬得住突破瓶颈长时间的寂寞,是肯下笨功夫的聪明人。没有什么人可以靠着学习一两门课程就能成为大牛,而真正重要的,是多年如一日的坚持,与你共勉。

我想了解你对这门课程的想法,所以在这里邀请你点击链接参与课程评价,因为你的观点可以帮助我们更好地一起成长,而且有机会获得小礼物。

最后,很高兴认识你,我是黄轶,后会有期。