更新时间:2022-09-08 15:13:03
封面
版权信息
序
前言
读者对象
本书内容
本书结构
源代码及勘误
致谢
第一篇 框架设计概览
第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.8 代理Set和Map
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 总结