深入浅出Vue.js

深入浅出Vue.js

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
7.9162 评价豆瓣读书

作品简介

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

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

刘博文

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

作品目录

  1. 序一
  2. 序二
  3. 前言
  4. 本书目的
  5. 组织结构
  6. 致谢
  7. 第 1 章 Vue.js简介
  8. 1.1 什么是Vue.js
  9. 1.2 Vue.js简史
  10. 第一篇 变化侦测
  11. 第 2 章  Object 的变化侦测
  12. 2.1 什么是变化侦测
  13. 2.2 如何追踪变化
  14. 2.3 如何收集依赖
  15. 2.4 依赖收集在哪里
  16. 2.5 依赖是谁
  17. 2.6 什么是 Watcher
  18. 2.7 递归侦测所有 key
  19. 2.8 关于 Object 的问题
  20. 2.9 总结
  21. 第 3 章  Array 的变化侦测
  22. 3.1 如何追踪变化
  23. 3.2 拦截器
  24. 3.3 使用拦截器覆盖 Array 原型
  25. 3.4 将拦截器方法挂载到数组的属性上
  26. 3.5 如何收集依赖
  27. 3.6 依赖列表存在哪儿
  28. 3.7 收集依赖
  29. 3.8 在拦截器中获取 Observer 实例
  30. 3.9 向数组的依赖发送通知
  31. 3.10 侦测数组中元素的变化
  32. 3.11 侦测新增元素的变化
  33. 3.12 关于 Array 的问题
  34. 3.13 总结
  35. 第 4 章 变化侦测相关的API实现原理
  36. 4.1  vm.$watch
  37. 4.2  vm.$set
  38. 4.3  vm.$delete
  39. 4.4 总结
  40. 第二篇 虚拟DOM
  41. 第 5 章 虚拟DOM简介
  42. 5.1 什么是虚拟DOM
  43. 5.2 为什么要引入虚拟DOM
  44. 5.3 Vue.js中的虚拟DOM
  45. 5.4 总结
  46. 第 6 章  VNode
  47. 6.1 什么是 VNode
  48. 6.2  VNode 的作用
  49. 6.3  VNode 的类型
  50. 6.4 总结
  51. 第 7 章 patch
  52. 7.1 patch介绍
  53. 7.2 创建节点
  54. 7.3 删除节点
  55. 7.4 更新节点
  56. 7.5 更新子节点
  57. 7.6 总结
  58. 第三篇 模板编译原理
  59. 第 8 章 模板编译
  60. 8.1 概念
  61. 8.2 将模板编译成渲染函数
  62. 8.3 总结
  63. 第 9 章 解析器
  64. 9.1 解析器的作用
  65. 9.2 解析器内部运行原理
  66. 9.3 HTML解析器
  67. 9.4 文本解析器
  68. 9.5 总结
  69. 第 10 章 优化器
  70. 10.1 找出所有静态节点并标记
  71. 10.2 找出所有静态根节点并标记
  72. 10.3 总结
  73. 第 11 章 代码生成器
  74. 11.1 通过AST生成代码字符串
  75. 11.2 代码生成器的原理
  76. 11.3 总结
  77. 第四篇 整体流程
  78. 第 12 章 架构设计与项目结构
  79. 12.1 目录结构
  80. 12.2 架构设计
  81. 12.3 总结
  82. 第 13 章 实例方法与全局API的实现原理
  83. 13.1 数据相关的实例方法
  84. 13.2 事件相关的实例方法
  85. 13.3 生命周期相关的实例方法
  86. 13.4 全局API的实现原理
  87. 13.5 总结
  88. 第 14 章 生命周期
  89. 14.1 生命周期图示
  90. 14.2 从源码角度了解生命周期
  91. 14.3  errorCaptured 与错误处理
  92. 14.4 初始化实例属性
  93. 14.5 初始化事件
  94. 14.6 初始化 inject
  95. 14.7 初始化状态
  96. 14.8 初始化 provide
  97. 14.9 总结
  98. 第 15 章 指令的奥秘
  99. 15.1 指令原理概述
  100. 15.2 自定义指令的内部原理
  101. 15.3 虚拟DOM钩子函数
  102. 15.4 总结
  103. 第 16 章 过滤器的奥秘
  104. 16.1 过滤器原理概述
  105. 16.2 解析过滤器
  106. 16.3 总结
  107. 第 17 章 最佳实践
  108. 17.1 为列表渲染设置属性 key
  109. 17.2 在 v-if / v-if-else / v-else 中使用 key
  110. 17.3 路由切换组件不变
  111. 17.4 为所有路由统一添加 query
  112. 17.5 区分Vuex与 props 的使用边界
  113. 17.6 避免 v-if 和 v-for 一起使用
  114. 17.7 为组件样式设置作用域
  115. 17.8 避免在 scoped 中使用元素选择器
  116. 17.9 避免隐性的父子组件通信
  117. 17.10 单文件组件如何命名
  118. 17.11 自闭合组件
  119. 17.12  prop 名的大小写
  120. 17.13 多个特性的元素
  121. 17.14 模板中简单的表达式
  122. 17.15 简单的计算属性
  123. 17.16 指令缩写
  124. 17.17 良好的代码顺序
  125. 17.18 总结
  126. 作者简介
  127. 看完了
载入中