Vue源碼的最後一站

去年我寫了一篇分析Vue源碼的博文,不知道有多少人看到過:Vue2.1.7源碼學習vue

這篇文章是我所寫的博文中被轉載最多的一篇文章,在這篇文章的開頭我提到了這是系列文章中的第一篇,當時的想法是還會有第二篇、第三篇......,但現實是殘酷的(你加班你懂)。不過這彷佛並無讓我放棄,我能夠起的早一點,也能夠睡得晚一點。直到如今我寫了約20萬字,依然在持續更新,但我以爲它應該能夠和你們見面了,你們久等了。git

接下來讓我介紹一下《Vue技術內幕》這套源碼分析文章的特色,但願讓你感覺到個人誠意。github

開源共享 這套文章採用 署名-非商業性使用-禁止演繹 4.0 國際 許可協議,訪問 :Vue技術內幕chrome

上面的連接拿走不謝,另外我要解釋一下爲何開源?有不少朋友建議我,讓我去某某平臺利用這些文章賺取收益, 說實話我沒什麼錢,但也不缺什麼錢,沒人會跟錢過不去,但最後我依然沒有選擇那樣作,我對朋友說:vue 沒收你們一分錢,我怎麼能踩着 vue 的肩膀收你們的錢,我能夠走捐贈路線啊,若是讀者能真正學到知識、感覺到了個人誠意並捐贈給我,這對於我來說就是最讓人知足的事情。即便這樣我在 Vue技術內幕 | 人之初 這裏還重點提示你們,若是你們真的要捐贈,我但願大家優先捐贈Vue。源碼分析

超級詳細 - 逐行級別的分析

很天然的,我也是從小白成長起來的,如今終於變成了中白,但願有一天能成爲大白。在成長的過程當中必然會遇到不少阻力,但願身邊能有個導師同樣的人給我指導,雖然如今明白了一切都要靠本身,但當時的無助仍是讓我想幫助更多的人,這就是爲何這套文章要逐行級別分析的緣由,我不但願囫圇吞棗的講個大概,讓讀者既費心力又費時間的研究,固然你能夠選擇本身研究,但若是花費了不少時間依然沒有結果,那就看一下這套文章的講解吧。學習

另外,所謂逐行並不是一行接着一行,逐行指的是講解的詳細程度,這套文章將致力於覆蓋全部核心代碼,畢竟每一句代碼都有他存在的意義,假如咱們不講明白任何一句代碼的意義,那又怎麼敢說是源碼分析呢?源碼學習

實時更新 - 與 Vue 源碼 dev 分支保持同步

如今有多少文章是過期的?包括我本身寫的那篇,這些文章在寫完的次日恐怕就已通過時了,由於源碼的更新是持續的,我不但願花幾個月時間寫出來的東西過期掉,因此天天都會去看Vue的issue、PR等等,一旦有更新我都會把更新的內容同步到文章。資源

深度分析 - 講解issue

咱們知道Vue這個項目自誕生以來一直都在不斷的更新完善,好比添加新的特性,修復已知bug等等。而在這個過程當中源碼也將愈來愈完善,這也意味着曾經的代碼是不完善的,本套文章在分析源碼時除了告訴你這段代碼爲何這麼寫以外,還會根據相關issue分析這段代碼以前是怎麼寫的以及存在的問題。get

以上就是這套文章的主要幾點,除此以外再討論一下關於閱讀源碼的問題,有的同窗會質疑:閱讀源碼是否真的有意義。對於這個問題個人回答是:若是你以爲讀書有意義,那麼看源碼就有意義。由於源碼是更加精華的書。同步

有的同窗可能會有疑問,好比:你又不是做者本人,你的分析靠譜嗎、Vue.js又不是你寫的,誰知道你分析的對不對 等等。

對於第一個問題我想說的是,大家的懷疑是對的,畢竟最有權威分析 Vue 源碼的人必然是做者本身,但同窗們要知道做者( @尤雨溪 )纔沒有時間來給你們寫一套源碼分析的文章。對於第二個問題,Vue 確實不是我寫的,但爲了證實這套文章仍是稍微有點質量的,在這裏我把看源碼過程當中提過的一些 PR 貼在下面,也說明我多少對 Vue 有那麼一點兒粗淺的理解:

github.com/vuejs/vue/p… github.com/vuejs/vue/p… github.com/vuejs/vue/p… github.com/vuejs/vue/p… github.com/vuejs/vue/p… github.com/vuejs/vue/p… github.com/vuejs/vue/p…

說實話,上面的PR至少在我看來都是些微不足道的,由於寫文章須要大量的時間,隨着這些文章的完成,我很但願抽出時間作一些實質性的貢獻。

最後給你們一些忠告,若是你真的想讀源碼,那麼建議您別偷懶,在看這套文章時,必定要手裏握着源碼對照着看。既然是閱讀源碼,沒有源碼怎麼讀?因此你要使用你喜歡的方式拿到源碼才行,最簡單的方式是,clone 一份源碼到你的本地。若是你不想這麼作,你能夠安裝一個chrome的擴展程序,使得你可以以在線以資源管理器的方式閱讀GitHub倉庫的代碼,我經常使用的chrome擴展是:octotree,相似的擴展還有不少,你喜歡就好。

相關文章
相關標籤/搜索