房地产公司网站下载,重庆网站建设公司下载,猪八戒兼职网官网,好用的wordpressVue.js设计与实现 (霍春阳) 电子版获取链接#xff1a;Vue.js设计与实现(霍春阳) 编辑推荐
适读人群 #xff1a;1.对Vue.js 2/3具有上手经验#xff0c;且希望进一步理解Vue.js框架设计原理的开发人员#xff1b; 2.没有使用过Vue.js#xff0c;但对Vue.js框架设计感兴趣… Vue.js设计与实现 (霍春阳) 电子版获取链接Vue.js设计与实现(霍春阳) 编辑推荐
适读人群 1.对Vue.js 2/3具有上手经验且希望进一步理解Vue.js框架设计原理的开发人员 2.没有使用过Vue.js但对Vue.js框架设计感兴趣的前端开发人员。
1.Vue.js 官方团队成员霍春阳倾力打造
2.基于 Vue.js 3 深入解析 Vue.js 设计细节
3.Vue.js 作者尤雨溪作序推荐
4.本书提供源代码下载
5.业界大咖联袂推荐。
内容简介
本书基于Vue.js 3从规范出发以源码为基础并结合大量直观的配图循序渐进地讲解Vue.js中各个功能模块的实现细致剖析框架设计原理。全书共18章分为六篇主要内容包括框架设计概览、响应系统、渲染器、组件化、编译器和服务端渲染等。通过阅读本书对Vue.js 2/3具有上手经验的开发人员能够进一步理解Vue.js框架的实现细节没有Vue.js使用经验但对框架设计感兴趣的前端开发人员能够快速掌握Vue.js的设计原理。
作者简介
霍春阳HcySunYang
Vue.js官方团队成员专注于Web研发领域是Vue.js 3的核心贡献者之一Vue.js文档生成工具Vuese的作者技术社区活跃者曾撰写大量颇受好评的技术博客。
精彩书评
这本书对Vue.js 3技术细节的分析非常可靠对于需要深入理解Vue.js 3的用户会有很大的帮助。
--尤雨溪Vue.js作者 听到春阳在筹备这本书时我就期待不已。以他对Vue.js的贡献与理解程度编写这本书真是再适合不过了春阳从框架设计者的角度巧妙地切入自底层由浅入深地阐述Vue.js的设计思想。身为Vue.js多年使用者的我也被书中丰富的细节所震撼读后受益匪浅。若想更好地理解与使用Vue.js我极力推荐本书。
--Anthony FuVue.js和Vite核心团队成员 春阳是Vue.js团队中对框架源码钻研最深的人之一。
这本《Vue.js设计与实现》并非简单的源码解析之作反而深入浅出既从设计理念的角度阐述了Vue.js的技术选择也讲解了更为通用的算法知识和JavaScript语言规范细节。这本书不仅能帮助前端新手理解前端框架功能而且为资深开发者阅读源码提供助力还能对广大的前端技术爱好者有所启发非常值得一读。
--蒋豪群Vue.js和Vite核心团队成员 当前在开发前端应用程序时Vue.js已经是**技术之一了。使用Vue.js的开发者数量庞大其中很多人尝试阅读源码以期了解更多细节。
本书从核心团队开发者的角度详细解析了从无到有开发Vue.js的技术细节以及背后的工程权衡其细节之丰富远超第三方源码解读。想要深入框架细节的业务开发者以及各类组件、框架和平台开发者都可以从本书中受益。此外作者的技术实力和写作态度也保证了本书的品质。
--飞叔徐飞 数据驱动的前端框架已成为现代前端研发的标准配置。Vue.js作为其中脱颖而出的主流选择之一有许多值得前端开发者学习、借鉴的思想和实践。作为Vue.js 3的核心贡献者春阳对Vue.js的各个方面都有很深入的理解。这本书为读者详细展示了Vue.js的设计原理与实践细节以及框架设计背后的权衡艺术是一本不容错过的好书。我相信所有对Vue.js、框架设计感兴趣的开发者读完这本书后都能有更进一步的理解。
--顾轶灵百度资深研发工程师Vue.js官方团队成员 我特别喜欢《Vue.js设计与实现》这本书它会为你打开一扇门开辟一种新的思维建立对Vue.js全新的认知。
--刘博文玖五《深入浅出Vue.js》作者阿里巴巴大淘宝前端技术专家
目录
序
前言
第 1章 权衡的艺术 2
11 命令式和声明式 2
12 性能与可维护性的权衡 3
13 虚拟DOM的性能到底如何 4
14 运行时和编译时 8
15 总结 11
第 2章 框架设计的核心要素 12
21 提升用户的开发体验 12
22 控制框架代码的体积 14
23 框架要做到良好的Tree-Shaking 15
24 框架应该输出怎样的构建产物 17
25 特性开关 19
26 错误处理 21
27 良好的TypeScript类型支持 23
28 总结 25
第3章 Vuejs 3的设计思路 27
31 声明式地描述UI 27
32 初识渲染器 29
33 组件的本质 32
34 模板的工作原理 34
35 Vuejs是各个模块组成的有机整体 36
36 总结 37
第4章 响应系统的作用与实现 40
41 响应式数据与副作用函数 40
42 响应式数据的基本实现 41
43 设计一个完善的响应系统 43
44 分支切换与cleanup 50
45 嵌套的effect与effect栈 55
46 避免无限递归循环 59
47 调度执行 60
48 计算属性computed与lazy 64
49 watch的实现原理 71
410 立即执行的watch与回调执行时机 75
411 过期的副作用 77
412 总结 82
第5章 非原始值的响应式方案 84
51 理解Proxy和Reflect 84
52 JavaScript对象及Proxy的工作原理 88
53 如何代理Object 92
54 合理地触发响应 102
55 浅响应与深响应 108
56 只读和浅只读 110
57 代理数组 113
571 数组的索引与 length 114
572 遍历数组 119
573 数组的查找方法 124
574 隐式修改数组长度的原型方法 129
58 代理Set和Map 132
581 如何代理Set和Map 133
582 建立响应联系 137
583 避免污染原始数据 140
584 处理forEach 143
585 迭代器方法 147
586 values与keys方法 152
59 总结 155
第6章 原始值的响应式方案 158
61 引入ref的概念 158
62 响应丢失问题 160
63 自动脱ref 164
64 总结 166
第7章 渲染器的设计 170
71 渲染器与响应系统的结合 170
72 渲染器的基本概念 172
73 自定义渲染器 175
74 总结 179
第8章 挂载与更新 180
81 挂载子节点和元素的属性 180
82 HTML Attributes与DOM Properties 182
83 正确地设置元素属性 184
84 class的处理 189
85 卸载操作 192
86 区分vnode的类型 195
87 事件的处理 196
88 事件冒泡与更新时机问题 201
89 更新子节点 204
810 文本节点和注释节点 209
811 Fragment 212
812 总结 215
第9章 简单Diff算法 218
91 减少DOM操作的性能开销 218
92 DOM复用与key的作用 221
93 找到需要移动的元素 225
94 如何移动元素 228
95 添加新元素 233
96 移除不存在的元素 238
97 总结 241
第 10章 双端Diff算法 242
101 双端比较的原理 242
102 双端比较的优势 252
103 非理想状况的处理方式 255
104 添加新元素 263
105 移除不存在的元素 268
106 总结 270
第 11章 快速Diff算法 271
111 相同的前置元素和后置元素 271
112 判断是否需要进行DOM移动操作 279
113 如何移动元素 288
114 总结 296
第 12章 组件的实现原理 298
121 渲染组件 298
122 组件状态与自更新 301
123 组件实例与组件的生命周期 304
124 props与组件的被动更新 306
125 setup函数的作用与实现 311
126 组件事件与emit的实现 314
127 插槽的工作原理与实现 316
128 注册生命周期 318
129 总结 320
第 13章 异步组件与函数式组件 322
131 异步组件要解决的问题 322
132 异步组件的实现原理 324
1321 封装defineAsyncComponent函数 324
1322 超时与Error组件 325
1323 延迟与Loading组件 328
1324 重试机制 331
133 函数式组件 333
134 总结 335
第 14章 内建组件和模块 337
141 KeepAlive组件的实现原理 337
1411 组件的激活与失活 337
1412 include和exclude 342
1413 缓存管理 343
142 Teleport组件的实现原理 346
1421 Teleport组件要解决的问题 346
1422 实现Teleport组件 347
143 Transition组件的实现原理 350
1431 原生DOM的过渡 351
1432 实现Transition组件 356
144 总结 360
第 15章 编译器核心技术概览 364
151 模板DSL的编译器 364
152 parser的实现原理与状态机 368
153 构造AST 374
154 AST的转换与插件化架构 383
1541 节点的访问 383
1542 转换上下文与节点操作 387
1543 进入与退出 392
155 将模板AST转为JavaScript AST 396
156 代码生成 402
157 总结 407
第 16章 解析器 409
161 文本模式及其对解析器的影响 409
162 递归下降算法构造模板AST 413
163 状态机的开启与停止 419
164 解析标签节点 426
165 解析属性 430
166 解析文本与解码HTML实体 436
1661 解析文本 436
1662 解码命名字符引用 438
1663 解码数字字符引用 445
167 解析插值与注释 449
168 总结 451
第 17章 编译优化 453
171 动态节点收集与补丁标志 453
1711 传统Diff算法的问题 453
1712 Block与PatchFlags 454
1713 收集动态节点 457
1714 渲染器的运行时支持 459
172 Block树 461
1721 带有v-if指令的节点 462
1722 带有v-for指令的节点 464
1723 Fragment的稳定性 465
173 静态提升 466
174 预字符串化 468
175 缓存内联事件处理函数 469
176 v-once 470
177 总结 471
第 18章 同构渲染 474
181 CSR、SSR以及同构渲染 474
182 将虚拟DOM渲染为HTML字符串 478
183 将组件渲染为HTML字符串 484
184 客户端激活的原理 489
185 编写同构的代码 494
1851 组件的生命周期 494
1852 使用跨平台的API 496
1853 只在某一端引入模块 496
1854 避免交叉请求引起的状态污染 497
1855 组件 498
186 总结 499 本文禁止转载或摘编