推薦 7 個 Vue2、Vue3 源碼解密分析的開源項目
1、為什么要學習源碼 ?
(1)閱讀優秀的代碼的目的是讓我們能夠寫出優秀的代碼。
(2)不給自己設限,不要讓你周圍人的技術上限成為你的上限。其實就跟我們寫作文一樣,你看的高分作文越多,寫出高分作文的概率就越大。
基于現在的程序員工作模式(模塊化開發,只需要拿到需求做自己的部分),別說看源碼,甚至就連項目里的代碼都懶的去看,我認識的很多程序員就是這樣的,一個項目摸了兩三年,你要問他項目中 webpack 都干了哪些事情,他的回答是不知道,反而趾高氣揚的告訴你,那些他從來都用不上,看了也沒什么用,也看不懂,這里省略內心千字臟文。
閱讀主要目的 是為了幫助我們 積累素材,不要書到用時方恨少,看到美女我們應該能有一萬種詞語去形容,如氣若幽蘭,美艷不可方物,一笑傾城,再笑傾國,世間尤物。
功利性的閱讀源碼
功利性即指有目的性的,明確知道自己干完某一件事后能得到什么樣的回報,所以首先你要知道你想得到什么?
看每一本書都有明確的目的,想學會理財,就得看理財相關的書,想學點技術,就得看點技術相關的書
看源碼也是一樣,你對 Vue.use 之后發生了什么比較好奇,或者是你覺得現在面試都需要會看點源碼,這都很好,至少你有明確的訴求
凡事只要有了功利屬性,才更容易走的下去,否則就是真香警告。
2、Vue2
Vue 雖然出到 Vue3 了,也出了不少 Vue3 的源碼教程,但是 Vue2 還是很棒的框架,它的源碼還是值得細讀的,所以先推薦幾個 Vue2 的源碼項目。
2.1 vue-analysis
:+1: Vue.js 源碼分析
目前社區有很多 Vue.js 的源碼解析文章,但是質量層次不齊,不夠系統和全面,這本電子書的目標是全方位細致深度解析 Vue.js 的實現原理,讓同學們可以徹底掌握 Vue.js。目前分析的版本是 Vue.js 的最新版本 Vue.js 2.5.17-beta.0,并且之后會隨著版本升級而做相應的更新,充分發揮電子書的優勢。
這本電子書是作為 《Vue.js 源碼揭秘》 視頻課程的輔助教材。電子書是開源的,同學們可以免費閱讀,視頻是收費的,25+小時純干貨課程,如果有需要的同學可以購買來學習, 但請務必支持正版,請尊重作者的勞動成果 。
https://github.com/ustbhuangyi/vue-analysis
2.2 vue-design
超級詳細 - 逐行級別的分析
所謂逐行并非一行接著一行,逐行指的是講解的詳細程度,這套文章將致力于覆蓋所有核心代碼,畢竟每一句代碼都有他存在的意思,假如我們不講明白任何一句代碼的意義,那又怎么敢說是源碼分析呢?
深度分析 - 講解 issue
我們知道 Vue 這個項目自誕生以來一直都在不斷的更新完善,比如添加新的特性,修復已知bug等等。而在這個過程中源碼也將越來越完善,這也意味著代碼曾經并不完善,本套文章在分析源碼時除了告訴你這段代碼為什么這么寫之外,還會根據相關 issue 分析這段代碼之前是怎么寫的以及存在的問題。
http://hcysun.me/vue-design/zh/
2.3 vue-family-mindmap
用一張思維導圖總結了 Vue | Vue-Router | Vuex 源碼與架構要點。
以上內容是筆者最近學習 Vue 源碼時的收獲與所做的筆記,本文內容大多是開源項目 Vue.js 技術揭秘 的內容,只不過是以思維導圖的形式來展現,內容有省略,還加入了筆者的一點理解。
筆者之所以采用思維導圖的形式來記錄所學內容,是因為思維導圖更能反映知識體系與結構,更能使人形成完整的知識架構,知識一旦形成一個體系,就會容易理解和不易忘記。
注意:文章的圖片可能上傳時會經過壓縮,可能有點模糊,不過本文用到的 所有 超清圖片 都已經放在 github 上,而且還有 pdf 格式、markdown 語法、思維導圖 的原文件 ,自己可以根據 思維導圖原文件 導出相應的超清圖片。
https://github.com/biaochenxuying/vue-family-mindmap
2.4 learnVue
Vue.js 源碼分析,記錄了個人學習 Vue.js 源碼的過程中的一些心得以及收獲。以及對于 Vue 框架,周邊庫的一些個人見解。
在學習的過程中我為Vue.js(2.3.0)、Vuex(2.4.0)、Vue-router(3.0.1)加上了注釋,分別在文件夾 vue-src、vuex-src 以及 vue-router-src 中,希望可以幫助有需要的同學更好地學習理解 Vue.js 及周邊庫的源碼。
https://github.com/answershuto/learnVue
2.5 vue
Vue 源碼逐行注釋分析 +40 多 M 的 Vue 源碼程序流程圖思維導圖 (diff 部分待后續更新)
Vue 源碼業余時間差不多看了一年,以前在網上找帖子,發現很多帖子很零散,都是一部分一部分說,斷章的很多,所以自己下定決定一行行看,經過自己堅持與努力,現在基本看完了 。
這個 Vue 源碼逐行分析,我基本每一行都打上注釋,加上整個框架的流程思維導圖,基本上是小白也能看懂的 Vue 源碼了。
https://github.com/qq281113270/vue
2.6 vue2.0-source
Vue 源碼分析 -- 基于 2.2.6 版本
該源碼分析,會帶著大家一起學習 Vue 的大部分代碼,而不是簡單的講一下它的原理,我會盡可能的多解釋每一行主要的代碼含義,另外一些輔助方法什么的,大家可以在學習的過程中,自己看一眼就知道了。
https://github.com/liutao/vue2.0-source
3. Vue3
3.1 中文學習網址
先給大家提供 2 個 Vue3 的中文學習網址。
Vue3 中文文檔,國內 CDN 加速版
https://vue3js.cn/docs/zh/
Vue3 相關項目聚合網站
https://vue3js.cn/
3.2 Vue3 源碼
https://vue3js.cn/start/