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