瑞客论坛

 找回密码
 立即注册
查看: 653|回复: 5

(图灵原创)霍春阳-Vue.js设计与实现-人民邮电出版社(2022)

[复制链接]

金币3693  第428名

35

主题

80

回帖

4810

积分

论坛元老

Rank: 8Rank: 8

威望
510
贡献
606
热心值
1
金币
3693
注册时间
2023-4-2
发表于 2023-9-17 09:43 | 显示全部楼层 |阅读模式

310610842.jpg
游客,本付费内容需要支付 50金币 才能浏览, 赞助VIP全站免费下载支付
本书基于Vue.js 3,从规范出发,以源码为基础,并结合大量直观的配图,循序渐进地讲解Vue.js中各个功能模块的实现,细致剖析框架设计原理。全书共18章,分为六篇,主要内容包括:框架设计概览、响应系统、渲染器、组件化、编译器和服务端渲染等。通过阅读本书,对Vue.js 2/3具有上手经验的开发人员能够进一步理解Vue.js框架的实现细节,没有Vue.js使用经验但对框架设计感兴趣的前端开发人员,能够快速掌握Vue.js的设计原理。

Table of contents :
版权信息

前言
读者对象
本书内容
本书结构
源代码及勘误
致谢
第一篇 框架设计概览
第 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 总结
回复

使用道具 举报

金币572  第2847名

0

主题

1640

回帖

6662

积分

论坛元老

Rank: 8Rank: 8

威望
3586
贡献
2504
热心值
0
金币
572
注册时间
2022-12-11
发表于 2023-9-17 14:25 | 显示全部楼层
强烈支持楼主ing……
回复

使用道具 举报

金币3  第36933名

0

主题

2

回帖

17

积分

新手上路

Rank: 1

威望
8
贡献
6
热心值
0
金币
3
注册时间
2023-9-17
发表于 2023-9-17 15:37 | 显示全部楼层
好书
回复

使用道具 举报

金币344  第4078名

0

主题

1026

回帖

5736

积分

论坛元老

Rank: 8Rank: 8

威望
3168
贡献
2224
热心值
0
金币
344
注册时间
2022-6-13
发表于 2023-9-17 16:54 | 显示全部楼层
强烈支持楼主ing……
回复

使用道具 举报

金币2300  第763名

16

主题

1411

回帖

9493

积分

论坛元老

Rank: 8Rank: 8

威望
3988
贡献
3205
热心值
0
金币
2300
注册时间
2023-1-31
发表于 2023-9-17 22:43 | 显示全部楼层
我只是路过打酱油的。
回复

使用道具 举报

金币891  第1925名

8

主题

2351

回帖

9982

积分

论坛元老

Rank: 8Rank: 8

威望
5531
贡献
3560
热心值
0
金币
891
注册时间
2022-11-15
发表于 2023-9-18 00:02 | 显示全部楼层
强烈支持楼主ing……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|瑞客论坛 |网站地图

GMT+8, 2024-12-30 03:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表