深入浅出Vue.js

深入浅出Vue.js

立即阅读
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

Vue.js核心技术解析:变化侦测、虚拟DOM、模板编译及架构原理。

内容简介

本书从源码层面分析了Vue.js。首先,简要介绍了Vue.js;然后详细讲解了其内部核心技术“变化侦测”,这里带领大家从0到1实现一个简单的“变化侦测”系统;接着详细介绍了虚拟DOM技术,其中包括虚拟DOM的原理及其patching算法;紧接着详细讨论了模板编译技术,其中包括模板解析器的实现原理、优化器的原理以及代码生成器的原理;最后详细介绍了其整体架构以及提供给我们使用的各种API的内部原理,同时还介绍了生命周期、错误处理、指令系统与模板过滤器等功能的原理。

本书适合前端开发人员阅读。

作者简介

刘博文,网名Berwin,95后,从事Web前端工作5年,2015年加入360奇舞团,现任360导航事业部前端工程师,负责360导航首页及二级页创新项目等亿级PV站点的设计与优化,推动Vue.js成为部门内广泛使用的核心技术栈,独立研发相关开发工具与技术解决方案并使之成功落地。

W3C性能工作组成员,在Web性能领域有深入研究。热爱开源,热爱技术,梦想是用技术改变世界。个人GitHub地址:https://github.com/berwin。

章节目录

版权信息

序一

序二

前言

第1章 Vue.js简介

第一篇 变化侦测

第2章 Object的变化侦测

2.1 什么是变化侦测

2.2 如何追踪变化

2.3 如何收集依赖

2.4 依赖收集在哪里

2.5 依赖是谁

2.6 什么是Watcher

2.7 递归侦测所有key

2.8 关于Object的问题

2.9 总结

第3章 Array的变化侦测

3.1 如何追踪变化

3.2 拦截器

3.3 使用拦截器覆盖Array原型

3.4 将拦截器方法挂载到数组的属性上

3.5 如何收集依赖

3.6 依赖列表存在哪儿

3.7 收集依赖

3.8 在拦截器中获取Obschmerver实例

3.9 向数组的依赖发送通知

3.10 侦测数组中元素的变化

3.11 侦测新增元素的变化

3.12 关于Array的问题

3.13 总结

第4章 变化侦测相关的API实现原理

4.1 vm.$watch

4.2 vm.$set

4.3 vm.$delete

4.4 总结

第二篇 虚拟DOM

第5章 虚拟DOM简介

5.1 什么是虚拟DOM

5.2 为什么要引入虚拟DOM

5.3 Vue.js中的虚拟DOM

5.4 总结

第6章 VNode

6.1 什么是VNode

6.2 VNode的作用

6.3 VNode的类型

6.4 总结

第7章 patch

7.1 patch介绍

7.2 创建节点

7.3 删除节点

7.4 更新节点

7.5 更新子节点

7.6 总结

第三篇 模板编译原理

第8章 模板编译

8.1 概念

8.2 将模板编译成渲染函数

8.3 总结

第9章 解析器

9.1 解析器的作用

9.2 解析器内部运行原理

9.3 HTML解析器

9.4 文本解析器

9.5 总结

第10章 优化器

10.1 找出所有静态节点并标记

10.2 找出所有静态根节点并标记

10.3 总结

第11章 代码生成器

11.1 通过AST生成代码字符串

11.2 代码生成器的原理

11.3 总结

第四篇 整体流程

第12章 架构设计与项目结构

12.1 目录结构

12.2 架构设计

12.3 总结

第13章 实例方法与全局API的实现原理

13.1 数据相关的实例方法

13.2 事件相关的实例方法

13.3 生命周期相关的实例方法

13.4 全局API的实现原理

13.5 总结

第14章 生命周期

14.1 生命周期图示

14.2 从源码角度了解生命周期

14.3 errorCaptured与错误处理

14.4 初始化实例属性

14.5 初始化事件

14.6 初始化inject

14.7 初始化状态

14.8 初始化provide

14.9 总结

第15章 指令的奥秘

15.1 指令原理概述

15.2 自定义指令的内部原理

15.3 虚拟DOM钩子函数

15.4 总结

第16章 过滤器的奥秘

16.1 过滤器原理概述

16.2 解析过滤器

16.3 总结

第17章 最佳实践

17.1 为列表渲染设置属性key

17.2 在v-if/v-if-else/v-else中使用key

17.3 路由切换组件不变

17.4 为所有路由统一添加query

17.5 区分Vuex与props的使用边界

17.6 避免v-if和v-for一起使用

17.7 为组件样式设置作用域

17.8 避免在scoped中使用元素选择器

17.9 避免隐性的父子组件通信

17.10 单文件组件如何命名

17.11 自闭合组件

17.12 prop名的大小写

17.13 多个特性的元素

17.14 模板中简单的表达式

17.15 简单的计算属性

17.16 指令缩写

17.17 良好的代码顺序

17.18 总结

作者简介

看完了

深入浅出Vue.js是2019年由人民邮电出版社出版,作者刘博文。

得书感谢您对《深入浅出Vue.js》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
ReactNative入门与实战 电子书
一本书玩转React Native,携程框架团队倾力打造。
HTML+CSS+JavaScriptWeb前端开发技术 电子书
本书循序渐进地讲述了三大Web前端开发技术的内容、应用技巧以及它们的综合应用。
WebAssembly标准入门 电子书
适读人群 :本书适合从事高性能Web前端开发、跨语言Web应用开发的技术人员学习参考,也可以作为WebAssembly标准参考手册随时查阅。 作为一种新颖的网页前端技术,WebAssembly的发展日新月异。本书基于已受浏览器普遍支持的WebAssembly极小可用特征集,致力于通过简单易懂的方式,从使用方法到虚拟机设计,讲解WebAssembly的运行原理。极小可用特征集只是快速迭代的起点,SIMD、多线程等更多特性将逐渐被添加到WebAssembly标准中。 在WebAssembly 大潮来临之际,希望本书能为该技术在国内的推广贡献绵薄之力。 本书内容要点: WebAssembly 简要介绍; 在JavaScript 中使用WebAssembly 模块的方法; WebAssembly 汇编语言及二进制格式; 使用高级语言开发WebAssembly 模块; WebAssembly 指令参考。
深入浅出Spring Boot 2.x 电子书
本书章节编排合理,深入浅出地阐述了Spring Boot 2.x的原理与应用,以及当今较为流行的微服务系统经常用到的技术及原理,内容通俗易懂。
Spring源码深度解析(第2版) 电子书
一本实践与理论并重、广度与深度兼顾的Spring源码开发指南。