新手也能写得懂的源码分析教程当您翻开此书时,就决定要跟着我一起手写源码。市面上的很多 Vue相关的技术书,要么想看看不懂,要么看得懂其实没必要看。我希望这本书,可以让想看的人能看懂,能学会,能自己写。看得懂的人,可以提问题,体会一下破
案的乐趣,那就完美了。
这本书适合初级、中级前端开发者学习 Vue2源码,书里会逐行、逐句、逐词、逐字地带您手写 Vue2源码,简化复杂的源码体系,抽出核心流程用来手写实现。在教会您手写核心源码的同时,也会带领您梳理源码,双管齐下,让读懂源码不再是翻不过的山。如果您是前端新人,想要学 Vue2源码但又不知从何入手,我相信这本书是您跨过门槛的垫脚石。如果您是初级、中级前端开发者,用了一段时间 Vue2,但是想要学又不知道怎么学源码,我相信这本书是您的不二之选。如果您是前端大神,想要找找 BUG,体会破案的乐趣,那么这里绝对是您火眼金睛的试炼场。
希望您是那位有毅力跟着书中的文字去窥视 Vue世界的人。
这本书,献给那些普通又不甘于平庸的前端coder。
按照惯例这是一个序
想了好久,不知道怎么开这个头,连第一句话要怎么说都没想好。刚好,就用我现在的忐忑和扭捏的心情作为这本书最开始的序言吧。说真的,从来都没想过自己也会有出书的一天,虽然说出书并不难,但是想要写好一本书却并不容易,尤其是技术类书籍;也着实怕写了出来,误人子弟,这就是忐忑的缘由了。
作为搞技术并且想要搞好技术的人,在前端领域摸爬滚打了多年,虽无顶尖的视角,但是也有了些许的经验,总是想要把自己的理解和认识分享给正在路上攀登的奋斗者,希望大家可以少走一点弯路,那么假如这本书能给大家哪怕一丝的感悟和进步,我就十分欣喜了。我工作的这些年,一直有写博客的习惯,再加上前段时间一直在学珠峰的前端架构课程,所以,就想把自己在学习 Vue2源码过程中的感悟和理解,以及一些思路分享给大家,一起学习、进步。
说说这本书吧,本书是关于 Vue2源码分析的书,好吧,这等于没说。但是我觉得这本书全篇所讲的东西与 Vue无关,讲的都是JavaScript本身,以及算法、模式。那么我相信您肯定会问,Vue3都出了这么久了,市面上 Vue2分析的书也那么多,这本书有什么优点? 我的答案是:这本书不仅讲源码,更是在写源码。很多人一听到源码,就会感觉十分高端和遥远,可能会问:我才工作一年,能看得懂源码吗?在回答这个问题之前,我们先简单分析下,源码是什么? 源码说到底不过就是人写的代码。既然是人写的代码,那有什么看不懂的呢? 其中无非就是:点(某些 API的使用)、线(某些逻辑线的梳理)以及由点和线拼成的面所形成的结果。那么本书中遇到复杂的点,比如 ES6的有些高阶 API,比如原型链等,Vue的核心逻辑线:响应式原理、生命周期、依赖收集等,编者都会带大家深入地去书写、学习和理解。所以,读完本书,您不仅可了解 Vue知识,还可掌撑真正构建 Vue的底层核心内容。学到的也不仅仅是 Vue的用法和原理,还有对JavaScript,甚至是对于编程语言的深入解析。
您可能会问,学完了这本书,能达到什么水平? 我觉得你学完这本书,算是入门了。没错,就是入门,这本书能让您领略源码的风采,不再需要依赖于什么博客文章、什么大神指导,仅此而已。
另外,其实对于像 Vue、React等这样的大型前端框架,源码可以分为两部分:构建和应用。这两个词简单理解,就是一部分代码是用来打包、压缩我们运行时的代码的,另外一部分就是应用代码本身。本书仅会关注应用部分的源码,而不会详细分析 Vue的打包构建。一方面是因为本人能力有限;另外一方面是因为打包构建这个话题有点大,我实在没想好要怎么说。
好了,跟着我手摸手一起走进 Vue2的世界吧!
编 者