万本电子书0元读

万本电子书0元读

顶部广告

Vue.js设计与实现电子书

1.Vue.js 官方团队成员霍春阳倾力造; 2.基于 Vue.js 3 深解析 Vue.js 设计细节; 3.Vue.js 作者尤雨溪作序推荐; 4.本书提供源代码下载; 5.业界大咖联袂推荐。

售       价:¥

纸质售价:¥113.80购买纸书

779人正在读 | 0人评论 6.6

作       者:霍春阳(HcySunYang) 著

出  版  社:人民邮电出版社有限公司

出版时间:2022-01-01

字       数:44.4万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书基于Vue.js 3,从规范出发,以源码为基础,并结合大量直观的配图,循序渐地讲解Vue.js中各个功能模块的实现,细致剖析框架设计原理。全书共18章,分为六篇,主要内容包括:框架设计概览、响应系统、渲染器、组件化、编译器和服务端渲染等。通过阅读本书,对Vue.js 2/3具有上手经验的发人员能够一步理解Vue.js框架的实现细节,没有Vue.js使用经验但对框架设计感兴趣的前端发人员,能够快速掌握Vue.js的设计原理。<br/>【推荐语】<br/>1.Vue.js 官方团队成员霍春阳倾力造; 2.基于 Vue.js 3 深解析 Vue.js 设计细节; 3.Vue.js 作者尤雨溪作序推荐; 4.本书提供源代码下载; 5.业界大咖联袂推荐。<br/>【作者】<br/>霍春阳(HcySunYang) Vue.js官方团队成员,专注于Web研发领域,是Vue.js 3的核心贡献者之一,Vue.js文档生成工具Vuese的作者,技术社区活跃者,曾撰写大量颇受好评的技术博客。<br/>
目录展开

前言

读者对象

本书内容

本书结构

源代码及勘误

致谢

第一篇 框架设计概览

第 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 <ClientOnly> 组件

18.6 总结

作者简介

看完了

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部