今天是農(nóng)歷也是我心中的 2018 年的年終歲尾屿脐,所以也展望一下 2019 年疯淫。希望大家在新年學(xué)的更多寥院,因此賺得更多劲赠。
本來想用春節(jié)放假的時間搞定 vue 源碼,后來一想自己什么腦袋秸谢,人家 Evan 什么腦袋,人家從 2014 年就開始搞霹肝,一直搞到現(xiàn)在估蹄,我用一周就能看懂有點(diǎn)不要臉啊,所以現(xiàn)實點(diǎn)吧沫换,今年能看懂就不錯了臭蚁,今年能看懂然后自己模仿寫一個我就知足了。當(dāng)然我也不是一點(diǎn)基礎(chǔ)都沒有讯赏,多少了解點(diǎn) vnode 基本原理以及 html 解析垮兑。
首先需要從全局來了解一下 Evan 大神是排兵布陣的,和 vue 項目中一些核心技術(shù)漱挎。
還有就是看源碼就像考試系枪,看源碼是我們學(xué)習(xí)的一次考驗和檢查,就像期中考試中的難題磕谅。所以我們先不要關(guān)注時間私爷,因為這次考試是沒有時間限制的。
1. Vnode 虛擬節(jié)點(diǎn)的知識膊夹,這是 react 的核心技術(shù)衬浑,Vnode 是我們可以用 javascript 來寫原生應(yīng)用的基石。當(dāng)年 react 憑借虛擬節(jié)點(diǎn)技術(shù)榮登寶座吧放刨。
2. 觀察者模式工秩,就是實現(xiàn) MVVM 的基礎(chǔ),這個個人研究過 Angularjs 的源碼进统,并有相關(guān)分享
3. typescript 是必不可少助币,學(xué)習(xí)也不單單是為了解 vue 源碼,學(xué)習(xí) typescript 好處還是很多麻昼。Angular 要求開發(fā)人員用 typescript 來寫 Angular 應(yīng)用奠支, react 也支持 typescript,現(xiàn)在連微信小程序也支持用 typescript 來寫抚芦。而且人家 typescript 可以不依賴任何框架就能寫出大型的 web 應(yīng)用來倍谜。
4. rollup 和 webpack 打包工具迈螟,webpack 個人用過一段時間,可以說一說我自己學(xué)習(xí) javascript 項目構(gòu)建工具的幾個階段吧尔崔,最開始時候我就接觸過 grunt答毫,那時候?qū)?javascript 的構(gòu)建理解也不深刻,不過用過 grunt 來構(gòu)建發(fā)布自己 javascript 項目決定是很酷的事季春。我想當(dāng)時身邊的前端開發(fā)人員因該是很少聽過 grunt 洗搂,沒等他們聽說 grunt ,grunt 就逐漸退出構(gòu)建項目的舞臺载弄。沒過多長時間就接觸到 gulp 也是我在實際開發(fā)過程用的最多的打包工具耘拇。
6. vue 編譯,這個是大家都在玩了編譯宇攻,我們將自己代碼編譯 javascript 惫叛。
我想了想可以分兵幾路,直搗黃龍逞刷。從外向內(nèi)嘉涌,再從內(nèi)向外來分析 vue 源碼。