vue 源码详解(零):Vue 源码流程图

最近在研究 Vue 的源码, 整理博客, 结果想到的、看到的内容实在是太多了, 不知道从何写起, 故整理了一个大致的流程图,根据这个顺序进行一一整理。

为了表达出关键信息,流程图中主流程和子流程有不严谨的地方,后续会针对每一个子流程进行逐一剖析细化。

Vue 大致的流程都在图上做了标记, 大致如下( Vue 实例用 vm 表示 ) :

  1. 声明 Vue 构造函数;
  2. 构建 Vue 原型对象,丰富 vm 实例上的属性和方法;
  3. 构建 Vue 静态方法和属性, 使得 Vue 可以在不生成实例的情况下,具备一些方便用户曹组的接口;
  4. 等待用户调用 Vue,生成 vm 实例;
  5. 调用 vm 上的初始化方法, 初始化组件的生命周期、数据、方法,进行模板的解析、编译, 生成 AST 模板,然后根据 AST 模板生成虚拟 DOM、 render 函数, render 函数最终将虚拟DOM 编译成真实 DOM, 并挂载到页面上的组件占位符。

其实重要的流程都在第 5 步, 前 4 步是 Vue 的声明、构造阶段, 都是为了第 5 步做准备。

vue 源码详解(零):Vue 源码流程图相关推荐

  1. filter vue 循环_详解在Vue.js编写更好的v-for循环的6种技巧

    在vuejs中,v-for循环是每个项目都会使用的东西,它允许您在模板代码中编写for循环. 在最基本的用法中,它们的用法如下. {{ product.name }} 但是,在本文中,我将介绍六种方法 ...

  2. Java源码详解零:HashMap介绍

    文章目录 Java详解(0):HashMap介绍,HashMap的迭代,HashMap的线程安全问题 HashMap介绍 HashMap的迭代 HashMap的线程安全问题 Java详解(0):Has ...

  3. OkHttp源码详解之Okio源码详解

    请在电脑上阅读,效果更佳 本文将从两个技术点讲解OkHttp 1. 讲解Okio,因为Okhttp的IO操作都是基于Okio,抛开Okio的OkHttp讲解是不完美的 2. 讲解OkHttp源码 Ok ...

  4. vue 配置【详解】 vue.config.js ( 含 webpack 配置 )

    目录 常用配置 完整配置 使用 vue-cli 3.x 以上的脚手架创建的 vue 项目不再有 build文件夹,若需要进行相关配置,需在项目目录下新建文件 vue.config.js 常用配置 // ...

  5. Vue-Watcher观察者源码详解

    源码调试地址 https://github.com/KingComedy/vue-debugger 什么是Watcher Watcher是Vue中的观察者类,主要任务是:观察Vue组件中的属性,当属性 ...

  6. Spring事务源码详解

    一. 简介 事务: 事务是逻辑上的一组操作,要么都执行,要么都不执行,关于事务的基本知识可以看我的这篇文章:事务的基础知识 Spring事务: Spring 支持两种方式的事务管理:编程式事务管理.声 ...

  7. 交插二五条码(交叉25码)详解

    交插二五条码(交叉25码)详解 交叉二五码是1972年美国Intermec公司发明的一种条.空均表示信息的连续型.非定长.具有自校验功能的双向条码.它的字符集为数字字符0~9.初期广泛应用于仓储及重工 ...

  8. Vue parse之 从template到astElement 源码详解

    前奏 在紧张的一个星期的整理,笔者的前端小组每个人都整理了一篇文章,笔者整理了Vue编译模版到虚拟树的思想这一篇幅.建议读者看到这篇之前,先点击这里预习一下整个流程的思想和思路. 本文介绍的是Vue编 ...

  9. 【分类器 Softmax-Classifier softmax数学原理与源码详解 深度学习 Pytorch笔记 B站刘二大人(8/10)】

    分类器 Softmax-Classifier softmax数学原理与源码详解 深度学习 Pytorch笔记 B站刘二大人 (8/10) 在进行本章的数学推导前,有必要先粗浅的介绍一下,笔者在广泛查找 ...

最新文章

  1. vagrant学习笔记
  2. java 排队任务_android实现排队任务
  3. ML之Hash_HamMingDistance:基于输入图片哈希化(均值哈希+差值哈希)即8*8个元素的单向vector利用汉明距离算法进行判别
  4. 计算机网络早期结构图,第21讲 计算机网络应用基础(一).ppt
  5. 紫书 习题 10-20 UVa 1648 (推公式)
  6. eclipse自动排版JSP问题
  7. HTTP协议方法及状态码(HTTP协议入门必备)
  8. Android默认记住登录用户名,【教程】Android 记住密码和自动登录界面的实现
  9. 使用SpringMVC搭建第一个项目
  10. Struts2.1.6 + Spring2.5+Hibernate3.2整合
  11. c语言万年历完整源代码,C语言万年历的源程序
  12. XS9951 两通道多合一同轴高清解码芯片 国产
  13. 《设计模式》——接口隔离原则
  14. python_爬校花图片
  15. java编程题身高排队,试题 算法训练 预测身高
  16. Windows通过虚拟机的Ubuntu系统安装、配置、管理、远程访问ClickHouse
  17. linux删除slave网卡,Linux bonding网卡与其slave共同使用
  18. 求二维整数数组中最大子数组的和(结对作业)
  19. mysql字段自动计算_《MySQL必知必会》计算字段
  20. CA6140手柄轴的加工工艺及夹具设计(说明书+CAD图纸+三维图+工序卡……)

热门文章

  1. 如何使用NFC手机的支付功能
  2. IntelliJ Idea 2017 服务器激活
  3. 前端与移动开发----Vue---- 组件,组件传值,插槽
  4. html段落自动排序,word中怎么自动排序段落
  5. linux两个显示器,Linux上玩了一下双显示器
  6. xxe漏洞的学习与利用总结
  7. B1044 火星数字(python)
  8. java captcha 验证码_利用开源组件制作验证码 Captcha
  9. excel表导入navicat数据库
  10. nginx 搭建 rtmp