幫助中心 | 我的帳號 | 關於我們

Vue.js設計與實現/圖靈原創

  • 作者:霍春陽|責編:王軍花
  • 出版社:人民郵電
  • ISBN:9787115583864
  • 出版日期:2022/01/01
  • 裝幀:平裝
  • 頁數:501
人民幣:RMB 119.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書基於Vue.js 3,從規範出發,以源碼為基礎,並結合大量直觀的配圖,循序漸進地講解Vue.js中各個功能模塊的實現,細緻剖析框架設計原理。全書共18章,分為六篇,主要內容包括:框架設計概覽、響應系統、渲染器、組件化、編譯器和服務端渲染等。通過閱讀本書,對Vue.js 2/3具有上手經驗的開發人員能夠進一步理解Vue.js框架的實現細節,沒有Vue.js使用經驗但對框架設計感興趣的前端開發人員,能夠快速掌握Vue.js的設計原理。
    本書適合Vue.js使用者和對Vue.js感興趣的前端開發人員閱讀。

作者介紹
霍春陽|責編:王軍花
    霍春陽(HcySunYang),Vue.js官方團隊成員,專註于Web研發領域,是Vue.js 3的核心貢獻者之一,Vue.js文檔生成工具Vuese的作者,技術社區活躍者,曾撰寫大量頗受好評的技術博客。

目錄
第一篇  框架設計概覽
  第1章  權衡的藝術
    1.1  命令式和聲明式
    1.2  性能與可維護性的權衡
    1.3  虛擬DOM的性能到底如何
    1.4  運行時和編譯時
    1.5  總結
  第2章  框架設計的核心要素
    2.1  提升用戶的開發體驗
    2.2  控制框架代碼的體積
    2.3  框架要做到良好的Tree-Shaking
    2.4  框架應該輸出怎樣的構建產物
    2.5  特性開關
    2.6  錯誤處理
    2.7  良好的TypeScript類型支持
    2.8  總結
  第3章  Vue.js 3的設計思路
    3.1  聲明式地描述UI
    3.2  初識渲染器
    3.3  組件的本質
    3.4  模板的工作原理
    3.5  Vue.js是各個模塊組成的有機整體
    3.6  總結
第二篇  響應系統
  第4章  響應系統的作用與實現
    4.1  響應式數據與副作用函數
    4.2  響應式數據的基本實現
    4.3  設計一個完善的響應系統
    4.4  分支切換與cleanup
    4.5  嵌套的effect與effect棧
    4.6  避免無限遞歸循環
    4.7  調度執行
    4.8  計算屬性computed與lazy
    4.9  watch的實現原理
    4.10  立即執行的watch與回調執行時機
    4.11  過期的副作用
    4.12  總結
  第5章  非原始值的響應式方案
    5.1  理解Proxy和Reflect
    5.2  JavaScript對象及Proxy的工作原理
    5.3  如何代理Object
    5.4  合理地觸發響應
    5.5  淺響應與深響應
    5.6  只讀和淺只讀
    5.7  代理數組
      5.7.1  數組的索引與length
      5.7.2  遍曆數組
      5.7.3  數組的查找方法
      5.7.4  隱式修改數組長度的原型方法
    5.8  代理Set和Map

      5.8.1  如何代理Set和Map
      5.8.2  建立響應聯繫
      5.8.3  避免污染原始數據
      5.8.4  處理forEach
      5.8.5  迭代器方法
      5.8.6  values與keys方法
    5.9  總結
  第6章  原始值的響應式方案
    6.1  引入ref的概念
    6.2  響應丟失問題
    6.3  自動脫ref
    6.4  總結
第三篇  渲染器
  第7章  渲染器的設計
    7.1  渲染器與響應系統的結合
    7.2  渲染器的基本概念
    7.3  自定義渲染器
    7.4  總結
  第8章  掛載與更新
    8.1  掛載子節點和元素的屬性
    8.2  HTML Attributes與DOM Properties
    8.3  正確地設置元素屬性
    8.4  class的處理
    8.5  卸載操作
    8.6  區分vnode的類型
    8.7  事件的處理
    8.8  事件冒泡與更新時機問題
    8.9  更新子節點
    8.10  文本節點和註釋節點
    8.11  Fragment
    8.12  總結
  第9章  簡單Diff演算法
    9.1  減少DOM操作的性能開銷
    9.2  DOM復用與key的作用
    9.3  找到需要移動的元素
    9.4  如何移動元素
    9.5  添加新元素
    9.6  移除不存在的元素
    9.7  總結
  第10章  雙端Diff演算法
    10.1  雙端比較的原理
    10.2  雙端比較的優勢
    10.3  非理想狀況的處理方式
    10.4  添加新元素
    10.5  移除不存在的元素
    10.6  總結
  第11章  快速Diff演算法
    11.1  相同的前置元素和後置元素
    11.2  判斷是否需要進行DOM移動操作
    11.3  如何移動元素

    11.4  總結
第四篇  組件化
  第12章  組件的實現原理
    12.1  渲染組件
    12.2  組件狀態與自更新
    12.3  組件實例與組件的生命周期
    12.4  props與組件的被動更新
    12.5  setup函數的作用與實現
    12.6  組件事件與emit的實現
    12.7  插槽的工作原理與實現
    12.8  註冊生命周期
    12.9  總結
  第13章  非同步組件與函數式組件
    13.1  非同步組件要解決的問題
    13.2  非同步組件的實現原理
      13.2.1  封裝defineAsyncComponent函數
      13.2.2  超時與Error組件
      13.2.3  延遲與Loading組件
      13.2.4  重試機制
    13.3  函數式組件
    13.4  總結
  第14章  內建組件和模塊
    14.1  KeepAlive組件的實現原理
      14.1.1  組件的激活與失活
      14.1.2  include和exclude
      14.1.3  緩存管理
    14.2  Teleport組件的實現原理
      14.2.1  Teleport組件要解決的問題
      14.2.2  實現Teleport組件
    14.3  Transition組件的實現原理
      14.3.1  原生DOM的過渡
      14.3.2  實現Transition組件
    14.4  總結
第五篇  編譯器
  第15章  編譯器核心技術概覽
    15.1  模板DSL的編譯器
    15.2  parser的實現原理與狀態機
    15.3  構造AST
    15.4  AST的轉換與插件化架構
      15.4.1  節點的訪問
      15.4.2  轉換上下文與節點操作
      15.4.3  進入與退出
    15.5  將模板AST轉為JavaScript AST
    15.6  代碼生成
    15.7  總結
  第16章  解析器
    16.1  文本模式及其對解析器的影響
    16.2  遞歸下降演算法構造模板AST
    16.3  狀態機的開啟與停止
    16.4  解析標籤節點

    16.5  解析屬性
    16.6  解析文本與解碼HTML實體
      16.6.1  解析文本
      16.6.2  解碼命名字元引用
      16.6.3  解碼數字字元引用
    16.7  解析插值與註釋
    16.8  總結
  第17章  編譯優化
    17.1  動態節點收集與補丁標誌
      17.1.1  傳統Diff演算法的問題
      17.1.2  Block與PatchFlags
      17.1.3  收集動態節點
      17.1.4  渲染器的運行時支持
    17.2  Block樹
      17.2.1  帶有v-if指令的節點
      17.2.2  帶有v-for指令的節點
      17.2.3  Fragment的穩定性
    17.3  靜態提升
    17.4  預字元串化
    17.5  緩存內聯事件處理函數
    17.6  v-once
    17.7  總結
第六篇  服務端渲染
  第18章  同構渲染
    18.1  CSR、SSR以及同構渲染
    18.2  將虛擬DOM渲染為HTML字元串
    18.3  將組件渲染為HTML字元串
    18.4  客戶端激活的原理
    18.5  編寫同構的代碼
      18.5.1  組件的生命周期
      18.5.2  使用跨平台的API
      18.5.3  只在某一端引入模塊
      18.5.4  避免交叉請求引起的狀態污染
      18.5.5  組件
    18.6  總結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032