前言
選擇Vue的版本
2.0.0
這個(gè)版本較為完善
Vue源碼整體結(jié)構(gòu)
從build文件里我們可以知道一切都是從src/core/index.js開始的。
這段旅程探遵,注定了從core文件夾下開始窟赏,所以我們又畫了一張?jiān)创a文件結(jié)構(gòu)圖:
可以看出從index.js進(jìn)入,有六個(gè)文件夾:
- instance
它擔(dān)負(fù)著Vue實(shí)例的職責(zé)箱季,比如實(shí)例化涯穷、生命周期、自定義事件藏雏、狀態(tài)管理等 - observe
它負(fù)責(zé)數(shù)據(jù)的響應(yīng)式更新拷况,其中有Observer、Watcher掘殴、Dep這些關(guān)鍵角色赚瘦,以及它們的調(diào)度算法 - global-api
它含有Vue的一些全局api、如extend奏寨、use等 - util
囊括了項(xiàng)目中用到的大部分工具方法起意,按環(huán)境、語言服爷、調(diào)試杜恰、參數(shù)获诈、prop分類 - vdom
負(fù)責(zé)對(duì)虛擬dom節(jié)點(diǎn)的一切事物,包括創(chuàng)建心褐、拷貝舔涎、pacth、函數(shù)式組件等 - components
最簡(jiǎn)單的一部分逗爹,只負(fù)責(zé)keep-alive組件的實(shí)現(xiàn)
下個(gè)部分我們會(huì)先自己實(shí)現(xiàn)一個(gè)最簡(jiǎn)版的 Vue 亡嫌,然后從一個(gè)Vue實(shí)例的一生開始進(jìn)行漫長(zhǎng)、詳細(xì)的探索掘而。