新手也能寫得懂的源碼分析教程當您翻開此書時,就決定要跟著我一起手寫源碼。市面上的很多 Vue相關的技術書,要么想看看不懂,要么看得懂其實沒必要看。我希望這本書,可以讓想看的人能看懂,能學會,能自己寫?吹枚娜,可以提問題,體會一下破
案的樂趣,那就完美了。
這本書適合初級、中級前端開發(fā)者學習 Vue2源碼,書里會逐行、逐句、逐詞、逐字地帶您手寫 Vue2源碼,簡化復雜的源碼體系,抽出核心流程用來手寫實現(xiàn)。在教會您手寫核心源碼的同時,也會帶領您梳理源碼,雙管齊下,讓讀懂源碼不再是翻不過的山。如果您是前端新人,想要學 Vue2源碼但又不知從何入手,我相信這本書是您跨過門檻的墊腳石。如果您是初級、中級前端開發(fā)者,用了一段時間 Vue2,但是想要學又不知道怎么學源碼,我相信這本書是您的不二之選。如果您是前端大神,想要找找 BUG,體會破案的樂趣,那么這里絕對是您火眼金睛的試煉場。
希望您是那位有毅力跟著書中的文字去窺視 Vue世界的人。
這本書,獻給那些普通又不甘于平庸的前端coder。
按照慣例這是一個序
想了好久,不知道怎么開這個頭,連第一句話要怎么說都沒想好。剛好,就用我現(xiàn)在的忐忑和扭捏的心情作為這本書最開始的序言吧。說真的,從來都沒想過自己也會有出書的一天,雖然說出書并不難,但是想要寫好一本書卻并不容易,尤其是技術類書籍;也著實怕寫了出來,誤人子弟,這就是忐忑的緣由了。
作為搞技術并且想要搞好技術的人,在前端領域摸爬滾打了多年,雖無頂尖的視角,但是也有了些許的經(jīng)驗,總是想要把自己的理解和認識分享給正在路上攀登的奮斗者,希望大家可以少走一點彎路,那么假如這本書能給大家哪怕一絲的感悟和進步,我就十分欣喜了。我工作的這些年,一直有寫博客的習慣,再加上前段時間一直在學珠峰的前端架構課程,所以,就想把自己在學習 Vue2源碼過程中的感悟和理解,以及一些思路分享給大家,一起學習、進步。
說說這本書吧,本書是關于 Vue2源碼分析的書,好吧,這等于沒說。但是我覺得這本書全篇所講的東西與 Vue無關,講的都是JavaScript本身,以及算法、模式。那么我相信您肯定會問,Vue3都出了這么久了,市面上 Vue2分析的書也那么多,這本書有什么優(yōu)點? 我的答案是:這本書不僅講源碼,更是在寫源碼。很多人一聽到源碼,就會感覺十分高端和遙遠,可能會問:我才工作一年,能看得懂源碼嗎?在回答這個問題之前,我們先簡單分析下,源碼是什么? 源碼說到底不過就是人寫的代碼。既然是人寫的代碼,那有什么看不懂的呢? 其中無非就是:點(某些 API的使用)、線(某些邏輯線的梳理)以及由點和線拼成的面所形成的結果。那么本書中遇到復雜的點,比如 ES6的有些高階 API,比如原型鏈等,Vue的核心邏輯線:響應式原理、生命周期、依賴收集等,編者都會帶大家深入地去書寫、學習和理解。所以,讀完本書,您不僅可了解 Vue知識,還可掌撐真正構建 Vue的底層核心內(nèi)容。學到的也不僅僅是 Vue的用法和原理,還有對JavaScript,甚至是對于編程語言的深入解析。
您可能會問,學完了這本書,能達到什么水平? 我覺得你學完這本書,算是入門了。沒錯,就是入門,這本書能讓您領略源碼的風采,不再需要依賴于什么博客文章、什么大神指導,僅此而已。
另外,其實對于像 Vue、React等這樣的大型前端框架,源碼可以分為兩部分:構建和應用。這兩個詞簡單理解,就是一部分代碼是用來打包、壓縮我們運行時的代碼的,另外一部分就是應用代碼本身。本書僅會關注應用部分的源碼,而不會詳細分析 Vue的打包構建。一方面是因為本人能力有限;另外一方面是因為打包構建這個話題有點大,我實在沒想好要怎么說。
好了,跟著我手摸手一起走進 Vue2的世界吧!
編 者