Skip to content
TOC

vue2-principle-learning

Vue2 官方文档:https://v2.cn.vuejs.org/v2/guide/index.html

学习资料(已学完):https://juejin.cn/book/6844733705089449991

源码学习

灵魂提问:学习 Vue 源码,到底是为了学习 Vue 的什么?

我认为主要学习以下几点:

核心模块:

  • 响应式原理
    • 理解 Object.defineProperty 的用法及其在 Vue 中的应用。
    • 学习 Vue 的响应式系统如何实现数据劫持、依赖收集和派发更新。
    • 理解 Dep 和 Watcher 的关系及其在依赖收集和更新中的作用。
  • 编译原理
    • 模板解析:
      • 学习如何将模板字符串解析成抽象语法树 (AST)。
      • 理解解析过程中如何处理指令、事件、绑定等。
    • 优化 AST:
      • 学习 Vue 如何通过静态节点标记优化 AST。
    • 代码生成:
      • 学习如何将优化后的 AST 转换成渲染函数。
      • 理解渲染函数的生成和执行过程。
  • 虚拟 DOM
    • 虚拟 DOM 的结构:
      • 学习虚拟 DOM 的基本结构 (VNode) 及其实现原理。
    • 虚拟 DOM 的创建和更新:
      • 理解渲染函数如何生成虚拟 DOM。
      • 学习 patch 算法及其如何实现高效的 DOM 更新。
  • 渲染原理
    • 初次渲染:
      • 学习组件实例化过程,包括数据初始化和渲染函数执行。
      • 理解从虚拟 DOM 到真实 DOM 的映射过程。
    • 更新渲染:
      • 学习响应式数据更新时如何触发组件重新渲染。
      • 理解组件的更新机制和 patch 算法如何优化更新过程

其他模块:

  • 通信机制:包括 props、events($emit)、slots 等
  • 生命周期:理解 Vue 组件的生命周期钩子及其在各个阶段的作用
  • 指令系统:学习内置指令的实现原理及其应用。理解自定义指令的编写和使用。
  • 插件系统:学习 Vue 的插件机制,如何编写和使用插件。
  • 学习 Vue Router 和 Vuex 的原理及其在大型应用中的应用。

Released under the CC BY-NC-ND 3.0