目錄結(jié)構(gòu):

compiler 模板解析的相關(guān)文件
core 核心代碼
?platforms 平臺(tái)相關(guān)的內(nèi)容
server 服務(wù)端渲染相關(guān)
sfc 對(duì).vue文件解析,分成template,script,styles,customblocks,errors幾部分
shared 共享的工具方法
vm從創(chuàng)建到顯示:

創(chuàng)建vue對(duì)象,判斷是否是通過new關(guān)鍵字添加(core/instance/index)

執(zhí)行初始化方法(core/instance/init)

vm添加了一個(gè)唯一的_uid,然后vm._isVue設(shè)為true,_isComponent是內(nèi)部創(chuàng)建子組件時(shí)才會(huì)添加為true的屬性,內(nèi)部initInternalComponent(vm, options),
else執(zhí)行mergeOptions,該方法用于合并兩個(gè)對(duì)象,resolveConstructorOptions方法在Vue.extend中做了詳細(xì)的解釋,它的作用是合并構(gòu)造器及構(gòu)造器父級(jí)上定義的options,給Vue添加了一些全局的屬性或方法。

vue處理屬性合并方法(core/util/options)

initLifecycle(vm):給對(duì)象添加鉤子函數(shù)
initEvents(vm):初始化時(shí)間屬性
initRender(vm):添加虛擬dom
initInjections(vm)和initProvide(vm):父子屬性注入
initState(vm)初始化狀態(tài)