資料目錄:
├─第01章課程導(dǎo)讀
│ 1-1課程導(dǎo)讀.mp4
│
├─第02章框架設(shè)計前瞻-框架設(shè)計中的一些基本概念
│ 2-1前言.mp4
│ 2-2編程范式之命令式編程.mp4
│ 2-3編程范式之聲明式編程.mp4
│ 2-4命令式VS聲明式.mp4
│ 2-5企業(yè)應(yīng)用的開發(fā)與設(shè)計原則.mp4
│ 2-6為什么說框架的設(shè)計過程其實是一個不斷取舍的過程?.mp4
│ 2-7.vue中的html是真實的html嗎?.mp4
│ 2-8什么是運行時?.mp4
│ 2-9什么是編譯時?.mp4
│ 2-10運行時+編譯時.mp4
│ 2-11什么是副作用.mp4
│ 2-12Vue3框架設(shè)計概述.mp4
│ 2-13擴展:所謂良好的`TypeScript`支持,是如何提供.mp4
│ 2-14總結(jié).mp4
│
├─第03章Vue3源碼結(jié)構(gòu)-搭建框架雛形
│ 3-1前言.mp4
│ 3-2探索源碼設(shè)計:Vue3源碼設(shè)計大解析.mp4
│ 3-3創(chuàng)建測試實例:在Vue源碼中運行測試實例.mp4
│ 3-4跟蹤解析運行行為:為vue開啟SourceMap.mp4
│ 3-5授人以魚:如何針對源碼進行debugger.mp4
│ 3-6 授人以漁:如何閱讀源碼.mp4
│ 3-7開始搭建自己的框架:創(chuàng)建vue-next-mini.mp4
│ 3-8為框架進行配置:導(dǎo)入ts.mp4
│ 3-9引入代碼格式化工具:prettier讓你的代碼結(jié)構(gòu)更加規(guī)范.mp4
│ 3-10模塊打包器:rollup.mp4
│ 3-11初見框架雛形:配置路徑映射.mp4
│ 3-12總結(jié).mp4
│
├─第04章響應(yīng)系統(tǒng)-響應(yīng)系統(tǒng)的核心設(shè)計原則
│ 4-1前言.mp4
│ 4-2JS的程序性.mp4
│ 4-3如何讓你的程序變得更加“聰明”?.mp4
│ 4-4vue2的響應(yīng)性核心API:Object.definePr.mp4
│ 4-5Object.defineProperty在設(shè)計層的缺陷.mp4
│ 4-6vue3的響應(yīng)性核心API:proxy.mp4
│ 4-7proxy的最佳拍檔:Reflect—攔截js.mp4
│ 4-8總結(jié).mp4
│
├─第05章響應(yīng)系統(tǒng)-初見reactivity模塊
│ 5-1前言.mp4
│ 5-2源碼閱讀:reactive的響應(yīng)性,跟蹤Vue3源碼實現(xiàn)邏.mp4
│ 5-3源碼閱讀:reactive的響應(yīng)性,跟蹤Vue3源碼實現(xiàn)邏.mp4
│ 5-4框架實現(xiàn):構(gòu)建reactive函數(shù),獲取proxy實例.mp4
│ 5-5框架實現(xiàn):什么是WeakMap?它和Map有什么區(qū)別?.mp4
│ 5-6框架實現(xiàn):createGetter&&cr.mp4
│ 5-7熱更新的開發(fā)時:提升開發(fā)體驗.mp4
│ 5-8框架實現(xiàn):構(gòu)建effect函數(shù),生成ReactiveEff.mp4
│ 5-9框架實現(xiàn):track&&trigger.mp4
│ 5-10框架實現(xiàn):構(gòu)建track依賴收集函數(shù).mp4
│ 5-11框架實現(xiàn):構(gòu)建 trigger 觸發(fā)依賴.mp4
│ 5-12總結(jié):單一依賴的reactive.mp4
│ 5-13功能升級:響應(yīng)數(shù)據(jù)對應(yīng)多個effect.mp4
│ 5-14框架實現(xiàn):構(gòu)建Dep模塊,處理一對多的依賴關(guān)系.mp4
│ 5-15reactive函數(shù)的局限性.mp4
│ 5-16總結(jié).mp4
│
├─第06章響應(yīng)系統(tǒng)-ref的響應(yīng)性
│ 6-1前言.mp4
│ 6-2源碼閱讀:ref復(fù)雜數(shù)據(jù)類型的響應(yīng)性(1).mp4
│ 6-3源碼閱讀:ref復(fù)雜數(shù)據(jù)類型的響應(yīng)性(2).mp4
│ 6-4框架實現(xiàn):ref函數(shù)-構(gòu)建復(fù)雜數(shù)據(jù)類型的響應(yīng)性.mp4
│ 6-5總結(jié):ref復(fù)雜數(shù)據(jù)類型的響應(yīng)性.mp4
│ 6-6源碼閱讀:ref簡單數(shù)據(jù)類型的響應(yīng)性.mp4
│ 6-7框架實現(xiàn):ref函數(shù)-構(gòu)建簡單數(shù)據(jù)類型的響應(yīng)性.mp4
│ 6-8總結(jié):ref簡單數(shù)據(jù)類型響應(yīng)性.mp4
│ 6-9總結(jié).mp4
│
├─第07章響應(yīng)系統(tǒng) - watch && computed
│ 7-1開篇.mp4
│ 7-2源碼閱讀:computed的響應(yīng)性,跟蹤Vue3源碼實現(xiàn)邏.mp4
│ 7-3源碼閱讀:computed的響應(yīng)性,跟蹤Vue3源碼實現(xiàn)邏.mp4
│ 7-4框架實現(xiàn):構(gòu)建ComputedRefImpl,讀取計算屬性.mp4
│ 7-5框架實現(xiàn):computed的響應(yīng)性:初見調(diào)度器,處理臟的狀.mp4
│ 7-6框架實現(xiàn):computed的緩存性.mp4
│ 7-7總結(jié):computed計算屬性.mp4
│ 7-8源碼閱讀:響應(yīng)性的數(shù)據(jù)監(jiān)聽器watch,跟蹤源碼實現(xiàn)邏輯.mp4
│ 7-9源碼閱讀:響應(yīng)性的數(shù)據(jù)監(jiān)聽器watch,跟蹤源碼實現(xiàn)邏輯.mp4
│ 7-10框架實現(xiàn):深入scheduler調(diào)度系統(tǒng)實現(xiàn)機制.mp4
│ 7-11框架實現(xiàn):初步實現(xiàn)watch數(shù)據(jù)監(jiān)聽器.mp4
│ 7-12問題分析:watch下的依賴收集原則.mp4
│ 7-13框架實現(xiàn):完成watch數(shù)據(jù)監(jiān)聽器的依賴收集.mp4
│ 7-14總結(jié):watch 數(shù)據(jù)偵聽器 (01:52)【缺】
│ 7-15總結(jié).mp4
│
├─第08章runtime運行時-運行時核心設(shè)計原則
│ 8-1前言.mp4
│ 8-2HTMLDOM節(jié)點樹與虛擬DOM樹.mp4
│ 8-3掛載與更新.mp4
│ 8-4h函數(shù)與render函數(shù).mp4
│ 8-5運行時核心設(shè)計原則.mp4
│ 8-6總結(jié).mp4
│
├─第09章runtime運行時-構(gòu)建h函數(shù),生成Vnode
│ 9-1前言.mp4
│ 9-2閱讀源碼:初見h函數(shù),跟蹤Vue3源碼實現(xiàn)基礎(chǔ)邏輯(1).mp4
│ 9-3閱讀源碼:初見h函數(shù),跟蹤Vue3源碼實現(xiàn)基礎(chǔ)邏輯(2).mp4
│ 9-4框架實現(xiàn):構(gòu)建h函數(shù),處理ELEMENT+TEXT_CHI.mp4
│ 9-5源碼閱讀:h函數(shù),跟蹤ELEMENT+ARRAY_CHIL.mp4
│ 9-6框架實現(xiàn):構(gòu)建h函數(shù),處理ELEMENT+ARRAY_CH.mp4
│ 9-7源碼閱讀:h函數(shù),組件的本質(zhì)與對應(yīng)的VNode.mp4
│ 9-8框架實現(xiàn):處理組件的VNode.mp4
│ 9-9源碼閱讀:h函數(shù),跟蹤Text、Comment、Fragm.mp4
│ 9-10框架實現(xiàn):實現(xiàn)剩余場景Text、Comment、Frag.mp4
│ 9-11源碼閱讀:對class和style的增強處理.mp4
│ 9-12框架實現(xiàn):完成虛擬節(jié)點下的class和style的增強.mp4
│ 9-13總結(jié).mp4
│
├─第10章runtime運行時-構(gòu)建renderer渲染器
│ 10-1前言.mp4
│ 10-2源碼閱讀:初見render函數(shù),ELEMENT節(jié)點的掛載.mp4
│ 10-3框架實現(xiàn):構(gòu)建renderer基本架構(gòu).mp4
│ 10-4框架實現(xiàn):基于renderer完成ELEMENT節(jié)點掛載.mp4
│ 10-5框架實現(xiàn):合并渲染架構(gòu),得到可用的render函數(shù).mp4
│ 10-6源碼閱讀:渲染更新,ELEMENT節(jié)點的更新操作.mp4
│ 10-7框架實現(xiàn):渲染更新,ELEMENT節(jié)點的更新實現(xiàn).mp4
│ 10-8源碼閱讀:新舊節(jié)點不同元素時,ELEMENT節(jié)點的更新操.mp4
│ 10-9框架實現(xiàn):處理新舊節(jié)點不同元素時,ELEMENT節(jié)點的更.mp4
│ 10-10框架實現(xiàn):刪除元素,ELEMENT節(jié)點的卸載操作.mp4
│ 10-11源碼閱讀:class屬性和其他屬性的區(qū)分掛載.mp4
│ 10-12深入屬性掛載:HTMLAttributes和DOMPr.mp4
│ 10-13框架實現(xiàn):區(qū)分處理ELEMENT節(jié)點的各種屬性掛載.mp4
│ 10-14源碼閱讀:ELEMENT節(jié)點下,style屬性的掛載和.mp4
│ 10-15框架實現(xiàn):ELEMENT節(jié)點下,style屬性的掛載和.mp4
│ 10-16源碼閱讀:ELEMENT節(jié)點下,事件的掛載和更新.mp4
│ 10-17深入事件更新:vueeventinvokers.mp4
│ 10-18框架實現(xiàn):ELEMENT節(jié)點下,事件的掛載和更新.mp4
│ 10-19局部總結(jié):ELEMENT節(jié)點的掛載、更新、props打.mp4
│ 10-20源碼閱讀:renderer渲染器下,Text節(jié)點的掛載.mp4
│ 10-21框架實現(xiàn):renderer渲染器下,Text節(jié)點的掛載.mp4
│ 10-22源碼閱讀:renderer渲染器下,Comment節(jié)點.mp4
│ 10-23框架實現(xiàn):renderer渲染器下,Comment節(jié)點.mp4
│ 10-24源碼閱讀:renderer渲染器下,F(xiàn)ragment節(jié).mp4
│ 10-25框架實現(xiàn):renderer渲染器下,F(xiàn)ragment節(jié).mp4
│ 10-26總結(jié).mp4
│
├─第11章runtime運行時-組件的設(shè)計原理與渲染方案
│ 11-1前言.mp4
│ 11-2源碼閱讀:無狀態(tài)基礎(chǔ)組件掛載邏輯.mp4
│ 11-3源碼閱讀:無狀態(tài)基礎(chǔ)組件掛載邏輯.mp4
│ 11-4框架實現(xiàn):完成無狀態(tài)基礎(chǔ)組件的掛載邏輯.mp4
│ 11-5源碼閱讀:無狀態(tài)基礎(chǔ)組件更新邏輯.mp4
│ 11-6局部總結(jié):無狀態(tài)組件的掛載、更新、卸載總結(jié).mp4
│ 11-7源碼閱讀:有狀態(tài)的響應(yīng)性組件掛載邏輯.mp4
│ 11-8框架實現(xiàn):有狀態(tài)的響應(yīng)性組件掛載邏輯.mp4
│ 11-9源碼閱讀:組件生命周期回調(diào)處理邏輯.mp4
│ 11-10框架實現(xiàn):組件生命周期回調(diào)處理邏輯.mp4
│ 11-11源碼閱讀:生命回調(diào)鉤子中訪問響應(yīng)性數(shù)據(jù).mp4
│ 11-12框架實現(xiàn):生命回調(diào)鉤子中訪問響應(yīng)性數(shù)據(jù).mp4
│ 11-13源碼閱讀:響應(yīng)性數(shù)據(jù)改變,觸發(fā)組件的響應(yīng)性變化.mp4
│ 11-14框架實現(xiàn):響應(yīng)性數(shù)據(jù)改變,觸發(fā)組件的響應(yīng)性變化.mp4
│ 11-15源碼閱讀:compositionAPI,setup函數(shù).mp4
│ 11-16框架實現(xiàn):compositionAPI,setup函數(shù).mp4
│ 11-17總結(jié).mp4
│
├─第12章runtime運行時-diff算法核心實現(xiàn)
│ 12-1前言.mp4
│ 12-2前置知識:VNode虛擬節(jié)點key屬性的作用.mp4
│ 12-3源碼閱讀:場景一:自前向后的diff對比.mp4
│ 12-4框架實現(xiàn):場景一:自前向后的diff對比.mp4
│ 12-5源碼閱讀:場景二:自后向前的diff對比.mp4
│ 12-6框架實現(xiàn):場景二:自后向前的diff對比.mp4
│ 12-7源碼閱讀:場景三:新節(jié)點多余舊節(jié)點時的diff比對.mp4
│ 12-8框架實現(xiàn):場景三:新節(jié)點多余舊節(jié)點時的diff比對.mp4
│ 12-9源碼閱讀:場景四:舊節(jié)點多于新節(jié)點時的diff比對.mp4
│ 12-10框架實現(xiàn):場景四:舊節(jié)點多于新節(jié)點時的diff比對.mp4
│ 12-11局部總結(jié):前四種diff場景的總結(jié)與亂序場景.mp4
│ 12-12前置知識:場景五:最長遞增子序列.mp4
│ 12-13源碼邏輯:場景五:求解最長遞增子序列.mp4
│ 12-14源碼閱讀:場景五:亂序下的diff比對.mp4
│ 12-15源碼閱讀:場景五:亂序下的diff比對.mp4
│ 12-16框架實現(xiàn):場景五:亂序下的diff比對.mp4
│ 12-17總結(jié).mp4
│
├─第13章compiler編譯器-編譯時核心設(shè)計原則
│ 13-1前言.mp4
│ 13-2模板編譯的核心流程.mp4
│ 13-3抽象語法樹-AST.mp4
│ 13-4AST轉(zhuǎn)化為JavaScriptAST,獲取codege.mp4
│ 13-5JavaScript AST 生成 render 函數(shù)代碼.mp4【缺】
│ 13-6總結(jié).mp4
│
├─第14章compiler編譯器-構(gòu)建compile編譯器
│ 14-1前言.mp4
│ 14-2擴展知識:JavaScript與有限自動狀態(tài)機.mp4
│ 14-3擴展知識:掃描tokens構(gòu)建AST結(jié)構(gòu)的方案.mp4
│ 14-4源碼閱讀:編譯器第一步:依據(jù)模板,生成AST抽象語法樹.mp4
│ 14-5框架實現(xiàn):構(gòu)建parse方法,生成context實例.mp4
│ 14-6框架實現(xiàn):構(gòu)建有限自動狀態(tài)機解析模板,掃描token生成.mp4
│ 14-7框架實現(xiàn):生成AST,構(gòu)建測試.mp4
│ 14-8擴展知識:AST到JavaScriptAST的轉(zhuǎn)化策略和.mp4
│ 14-9源碼閱讀:編譯器第二步:轉(zhuǎn)化AST,得到JavaScri.mp4
│ 14-10框架實現(xiàn):轉(zhuǎn)化JavaScriptAST,構(gòu)建深度優(yōu)先.mp4
│ 14-11框架實現(xiàn):構(gòu)建transformXXX方法,轉(zhuǎn)化對應(yīng)節(jié).mp4
│ 14-12框架實現(xiàn):處理根節(jié)點的轉(zhuǎn)化,生成JavaScriptA.mp4
│ 14-13擴展知識:render函數(shù)的生成方案.mp4
│ 14-14源碼閱讀:編譯器第三步:生成render函數(shù).mp4
│ 14-15框架實現(xiàn):構(gòu)建CodegenContext上下文對象.mp4
│ 14-16框架實現(xiàn):解析JavaScriptAST,拼接rend.mp4
│ 14-17框架實現(xiàn):新建compat模塊,把render轉(zhuǎn)化為f.mp4
│ 14-18總結(jié).mp4
│
├─第15章compiler編譯器-深入編輯器處理邏輯(困難)
│ 15-1前言.mp4
│ 15-2響應(yīng)性數(shù)據(jù)的編輯器處理:響應(yīng)性數(shù)據(jù)的處理邏輯.mp4
│ 15-3響應(yīng)性數(shù)據(jù)的編輯器處理:AST解析邏輯.mp4
│ 15-4響應(yīng)性數(shù)據(jù)的編輯器處理:JavaScriptAST轉(zhuǎn)化邏.mp4
│ 15-5響應(yīng)性數(shù)據(jù)的編輯器處理:render轉(zhuǎn)化邏輯分析.mp4
│ 15-6響應(yīng)性數(shù)據(jù)的編輯器處理:generate生成render.mp4
│ 15-7響應(yīng)性數(shù)據(jù)的編輯器處理:render函數(shù)的執(zhí)行處理.mp4
│ 15-8多層級模板的編輯器處理:多層級的處理邏輯.mp4
│ 15-9基于編輯器的指令(v-xx)處理:指令解析的整體邏輯.mp4
│ 15-10困難-基于編輯器的指令(v-xx)處理:AST解析邏輯.mp4
│ 15-11困難-基于編輯器的指令(v-xx)處理:JavaScr.mp4
│ 15-12 基于編輯器的指令(v-xx)處理:JavaScript AST ,transform 的轉(zhuǎn)化邏輯.mp4
│ 15-13基于編輯器的指令(v-xx)處理:生成render函數(shù).mp4
│ 15-14總結(jié).mp4
│
├─第16章運行時+編譯時-合并vue處理邏輯
│ 16-1 前言 (03:06).mp4【缺】
│ 16-2基于render渲染的createApp的構(gòu)建邏輯.mp4
│ 16-3基于template渲染的createApp的構(gòu)建邏輯.mp4
│ 16-4總結(jié).mp4
│
├─第17章課程總結(jié)
│ 17-1總結(jié).mp4
│
└─源碼.zip