手寫Vue.js2.0源碼

王佳琪編著

  • 出版商: 北京航空航天大學
  • 出版日期: 2023-10-01
  • 售價: $828
  • 貴賓價: 9.5$787
  • 語言: 簡體中文
  • 裝訂: 平裝
  • ISBN: 7512441177
  • ISBN-13: 9787512441170
  • 相關分類: Vue.js
  • 立即出貨

商品描述

本書以開源的前端流行框架Vue為對象,深入分析Vue2.6.14版本的核心實現,包括Vue-Router,VueX1.0到3.0等的發展變遷,
核心api的變化,生態週邊等作為切入點,以2.6.14版本為基準,透徹講解學習Vue源碼資料初始化,解析模板,
產生render函數,渲染DOM,從依賴收集,diff演算法,到響應式原理,以及穿插主線的生命週期等,
深入分析了一每一塊的程式碼用法、變化及原因。
另外,本書也會解釋其中的一些核心js的高階用法及其變化原理,分析Vue的大多數常用Api。
分析Vue-Router及Vuex相關原理及應用。
本書可以幫助前端學習及技術人

目錄大綱

目錄
第1章基本響應式原理 
1.1 基本開發環境搭建 
1.2 JavaScript高階技法 
1.2.1 call、bind、apply太難了 
1.2.2 defineProperty 
1.2.3 Object.create了什麼 
1.2.4 new 了個什麼 
1.2. 5 this到底是誰 
1.3 initData:Vue初始化 
1.4 Observer———響應式原理的核心 
1.5 陣列的回應———AOP的實際應用 
1.6 初始化程式碼淺析 
1.6.1 扁平化後的程式碼 
1.6.2 按「圖」索「驥」———流程梳理 
1.7 原始碼的閱讀方法———任何原始碼都可以這樣看 
第2章模板渲染原理 
2.1 $mount———掛載節點 
2.2 parseHTML———解析模板 
2.3 codegen—— —產生render 
2.4 initLifecycle———Mount? Mount! 
2.5 原始碼解讀———你的實作,我的實作,其實都一樣 
2.5.1 綁定靜態方法 
2.5.2 $mount的執行線 
2.5.3 回顧 
第3章依賴收集原理 
3.1 另一個JavaScript高階知識 
3.1.1 觀察者模式與發布訂閱模式 
3.1.2 沒事走兩步———什麼是異步 
3.1.3 mergeConfig———怎麼合併兩個物件 
3.2 Watcher&Dep—— —依賴收集 
3.3 nextTick———非同步更新原理 
3.4 Mixin———這不是mergeConfig 
3.5 callHook———生命週期是這樣執行的 
3.6 原始碼分析之我是抄的 
3.6.1 Vue2中的依賴收集 
3.6.2非同步更新源碼 
3.6.3 原來你是這樣的Mixin 
3.6.4 生命週期鉤子是不是這樣調用的  
第4章Watcher的其他場景 
4.1 手寫computed實現 
4.2 watch的核心是watcher 
4.3 響應式原理補充———數組的更新 
4.4 原始碼分析之不知道怎麼編了 
4.4.1 原來是這樣的響應式 
4.4.2 依賴收集不過是彼此銘記  
第5章Diff算法 
5.1 前置代碼整理 
5.2 簡單Diff算法 
5.2.1 “當前節點不同”的情況 
5.2.2 比對子節點的簡單情況 
5.3 完整的Diff演算法 
5.3.1 最佳化清單常見操作 
5.3.2 為什麼循環的時候設定的key不能用陣列的下標 
5.3.3 亂序比對 
5.4 細節調整  
5.5 Diff演算法的真正原始碼 
第6章手寫Component 
6.1 Vue.extend的實作 
6.2 Vue.component的實作  
6.3 元件的虛擬節點  
6.4 元件的渲染  
6.5 元件渲染原始碼梳理 
6.5.1 Vue.extend來源碼  
6.5.2 Vue.component源碼  
第7章源碼的其他實作 
7.1 生命週期源碼分析 
7.1.1 生命週期的簡單調試 
7.1.2 生命週期的價值 
7.2 Vue.$set源碼分析 
7.3 component源碼分析 
7.3.1 組件的更新 
7.3.2 非同步組件與函數式元件 
7.3.3 props源碼分析 
7.3.4 元件的事件綁定 
7.3.5 $children與$parent  
7.4 $ref源碼分析 
7.5 provide和inject 
7.6 $attrs與$listeners  
7.7 v if與v for 
7.8 v model原始碼分析 
7.8.1 parse解析指令 
7.8.2 把指令的AST 轉換成render函數 
7.8.3 針對v model的complier處理 
7.9 自訂指令源碼分析 
7.9.1 directive方法的註冊 
7.9.2 解析自訂directive  
7.10 修飾符的實作原理 
7.10.1 特殊修飾符的特殊處理 
7.10.2 表單修飾符的處理 
7.10.3 sync修飾符是怎麼實現的 
7.11 slot源碼分析 
7.12 keep alive源碼分析 
第8章手寫VueRouter源碼簡介 
8.1 VueRouter使用及專案初始化 
8.1.1 路由模式 
8.1.2 路由組件  
8.2 實作routerLink元件 
8.6 實作 routerView 元件
8.7 實 作  路由  守衛
8.8 縫縫補補history模式 
第9章VueRouter源碼分析
9.1 尋找入口、安裝並運作起來 
9.2 解析路由資訊 
9.3 路由跳轉流程 
9.4 路由元件 
第10章手寫Vuex源碼 
10.1 Vuex使用簡介 
10.2 似曾相識的基本實作
10.3 實作模組收集
10.4 實作 模組安裝 
10.5 實作模組的命名空間
10.6 實作模組收集 
10.7機制 
10.8 實作其他細節 
10.8.1 非同步的actions   
10.8.2 嚴格模式 
10.8.3 輔助函數 
第11章Vuex原始碼分析 
11.1 打包入口及結構 
11.2 模組的收集 
11.3 模組的安裝 
第12章Vue2中的SSR 搭建
12.112.  
12.2 打包客戶端程式碼 
12.3 打包伺服器端程式碼 
12.4 伺服器渲染路由 
12.5 在伺服器渲染應用Vuex  
參考文獻