Vue.js源码全方位深入解析,快人一步进名企
Vue/Vue-router和Vuex
适合人群
有一定前端基础和 Vue.js 的基础
技术储备要求
1、已经用过 Vue.js 做过 2 个以上的实际项目,对 Vue.js 的思想有了
一定的了解,对绝大部分的 API 都已经有使用。
2、有一定的原生 JavaScript 的功底,并对代码调试有一定的了解。
3、对常用的数据结构、正则表达式等都有一定了解。
[wm_notice]试看链接:https://pan.baidu.com/s/1SNvaSQ323a4GRr_9VQjPRA
提取码:qfp4
[/wm_notice]
章节目录:
-
第1章 准备工作 试看6 节 | 59分钟
介绍了 Flow、Vue.js 的源码目录设计、Vue.js 的源码构建方式,以及从入口开始分析了 Vue.js 的初始化过程。
- 视频:1-1 课程简介 (06:17)试看
- 视频:1-2 准备工作 (02:22)
- 视频:1-3 认识 Flow (15:25)
- 视频:1-4 Vue.js 源码目录设计 (05:39)
- 视频:1-5 Vue.js 源码构建 (18:57)
- 视频:1-6 从入口开始 (09:39)
-
第2章 数据驱动 试看8 节 | 89分钟
详细讲解了模板数据到 DOM 渲染的过程,从 new Vue 开始,分析了 mount、render、update、patch 等流程。
- 视频:2-1 数据驱动 (03:05)
- 视频:2-2 new Vue 发生了什么 (15:52)试看
- 视频:2-3 Vue 实例挂载的实现 (15:13)
- 视频:2-4 render (10:32)
- 视频:2-5 Virtual DOM (05:18)
- 作业:2-6 【讨论题】Virtual DOM
- 视频:2-7 createElement (13:31)
- 视频:2-8 update (25:21)
-
第3章 组件化13 节 | 159分钟
分析了组件化的实现原理,并且分析了组件周边的原理实现,包括合并配置、生命周期、组件注册、异步组件。
- 视频:3-1 组件化 (01:30)
- 视频:3-2 createComponent (17:33)
- 视频:3-3 patch(上) (18:48)
- 作业:3-4 【讨论题】patch(上)
- 视频:3-5 patch(下) (21:13)
- 视频:3-6 合并配置(上) (14:35)
- 视频:3-7 合并配置(下) (14:02)
- 视频:3-8 生命周期 (18:58)
- 视频:3-9 组件注册(上) (10:03)
- 视频:3-10 组件注册(下) (10:38)
- 视频:3-11 异步组件(工厂函数) (14:43)
- 视频:3-12 异步组件(Promise) (04:56)
- 视频:3-13 异步组件(高级) (11:52)
-
第4章 深入响应式原理(上) 试看10 节 | 112分钟
详细讲解了数据的变化如何驱动视图的变化,分析了响应式对象的创建,依赖收集、派发更新的实现过程,一些特殊情况的处理,并对比了计算属性和侦听属性的实现,最后分析了组件更新的过程。
- 视频:4-1 深入响应式原理 (02:55)
- 视频:4-2 响应式对象(上) (13:12)试看
- 视频:4-3 响应式对象(下) (06:34)
- 作业:4-4 【讨论题】响应式对象(下)
- 视频:4-5 依赖收集(上) (12:16)
- 视频:4-6 依赖收集(下) (14:45)
- 视频:4-7 派发更新(上) (12:06)
- 视频:4-8 派发更新(下) (15:22)
- 视频:4-9 nextTick (16:49)
- 视频:4-10 检测变化的注意事项 (17:25)
-
第5章 深入响应式原理(下)15 节 | 196分钟
详细讲解了数据的变化如何驱动视图的变化,分析了响应式对象的创建,依赖收集、派发更新的实现过程,一些特殊情况的处理,并对比了计算属性和侦听属性的实现,最后分析了组件更新的过程。
- 视频:5-1 计算属性 VS 侦听属性(1) (14:49)
- 视频:5-2 计算属性 VS 侦听属性(2) (23:47)
- 视频:5-3 计算属性 VS 侦听属性(3) (07:43)
- 视频:5-4 计算属性 VS 侦听属性(4) (23:15)
- 视频:5-5 计算属性 VS 侦听属性(5) (01:42)
- 作业:5-6 【讨论题】计算属性 VS 侦听属性
- 视频:5-7 组件更新(1) (18:04)
- 视频:5-8 组件更新(2) (16:33)
- 视频:5-9 组件更新(3) (22:18)
- 视频:5-10 原理图 (04:58)
- 视频:5-11 Props –v2.6.11 (一) (10:28)
- 视频:5-12 Props –v2.6.11 (二) (15:16)
- 视频:5-13 Props– –v2.6.11(三) (16:40)
- 视频:5-14 Props –v2.6.11(四) (10:26)
- 视频:5-15 Props–v2.6.11(五) (09:44)
-
第6章 编译(上)14 节 | 154分钟
从编译的入口函数开始,分析了编译的三个核心流程的实现:parse -> optimize -> codegen。
- 视频:6-1 编译 (02:22)
- 作业:6-2 【讨论题】编译
- 视频:6-3 编译入口(上) (11:48)
- 视频:6-4 编译入口(下) (13:27)
- 视频:6-5 parse(1) (08:02)
- 视频:6-6 parse(2) (08:41)
- 视频:6-7 parse(3) (17:11)
- 视频:6-8 parse(4) (05:44)
- 视频:6-9 parse(5) (21:24)
- 视频:6-10 parse(6) (10:37)
- 视频:6-11 parse(7) (36:17)
- 视频:6-12 parse(8) (05:17)
- 视频:6-13 parse(9) (06:38)
- 视频:6-14 parse(10) (05:45)
-
第7章 编译(下)6 节 | 66分钟
从编译的入口函数开始,分析了编译的三个核心流程的实现:parse -> optimize -> codegen。
- 视频:7-1 optimize(上) (12:04)
- 视频:7-2 optimize(下) (14:56)
- 视频:7-3 codegen(1) (06:46)
- 视频:7-4 codegen(2) (11:33)
- 视频:7-5 codegen(3) (05:18)
- 视频:7-6 codegen(4) (14:24)
-
第8章 扩展(上)10 节 | 88分钟
详细讲解了 event、v-model、slot、keep-alive、transition、transition-group 等常用功能的原理实现,该章节作为一个可扩展章节,未来会分析更多 Vue 提供的特性。
- 视频:8-1 扩展 (01:10)
- 视频:8-2 event(1) (03:31)
- 视频:8-3 event(2) (07:31)
- 视频:8-4 event(3) (09:54)
- 视频:8-5 event(4) (15:10)
- 视频:8-6 event(5) (07:51)
- 视频:8-7 event(6) (13:59)
- 视频:8-8 event(7) (09:45)
- 视频:8-9 event(8) (11:32)
- 视频:8-10 event(9) (06:57)
-
第9章 扩展(中)17 节 | 152分钟
详细讲解了 event、v-model、slot、keep-alive、transition、transition-group 等常用功能的原理实现,该章节作为一个可扩展章节,未来会分析更多 Vue 提供的特性。
- 视频:9-1 v-model(1) (02:56)
- 视频:9-2 v-model(2) (15:24)
- 视频:9-3 v-model(3) (09:26)
- 视频:9-4 v-model(4) (17:53)
- 视频:9-5 v-model(5) (10:43)
- 视频:9-6 v-model(6) (06:54)
- 视频:9-7 v-model(7) (09:09)
- 视频:9-8 slot(1) (03:59)
- 视频:9-9 slot(2) (06:48)
- 视频:9-10 slot(3) (11:06)
- 视频:9-11 slot(4) (11:30)
- 视频:9-12 slot(5) (08:40)
- 视频:9-13 slot(6) (11:23)
- 视频:9-14 slot(7) (08:58)
- 视频:9-15 slot(8) (06:16)
- 视频:9-16 slot(9) (05:15)
- 视频:9-17 slot(10) (04:49)
-
第10章 扩展(下)14 节 | 141分钟
详细讲解了 event、v-model、slot、keep-alive、transition、transition-group 等常用功能的原理实现,该章节作为一个可扩展章节,未来会分析更多 Vue 提供的特性。
- 视频:10-1 keep-alive(1) (03:08)
- 视频:10-2 keep-alive(2) (13:45)
- 视频:10-3 keep-alive(3) (11:14)
- 视频:10-4 keep-alive(4) (07:08)
- 视频:10-5 keep-alive(5) (08:27)
- 视频:10-6 keep-alive(6) (10:30)
- 视频:10-7 transition(1) (03:06)
- 视频:10-8 transition(2) (08:15)
- 视频:10-9 transition(3) (14:58)
- 视频:10-10 transition(4) (12:29)
- 视频:10-11 transition-group(1) (03:05)
- 视频:10-12 transition-group(2) (12:14)
- 视频:10-13 transition-group(3) (17:01)
- 视频:10-14 transition-group(4) (15:21)
-
第11章 Vue-Router18 节 | 171分钟
分析了 Vue-Router 的实现原理,从路由注册开始,分析了路由对象、matcher,并深入分析了整个路径切换的实现过程和细节。
- 视频:11-1 Vue Router (03:40)
- 视频:11-2 路由注册 (10:46)
- 视频:11-3 VueRouter 对象 (09:00)
- 视频:11-4 matcher(1) (12:52)
- 视频:11-5 matcher(2) (05:06)
- 视频:11-6 matcher(3) (12:33)
- 视频:11-7 matcher(4) (05:34)
- 视频:11-8 路径切换(1) (04:04)
- 视频:11-9 路径切换(2) (11:14)
- 视频:11-10 路径切换(3) (12:02)
- 视频:11-11 路径切换(4) (07:09)
- 视频:11-12 路径切换(5) (16:03)
- 视频:11-13 路径切换(6) (09:25)
- 视频:11-14 路径切换(7) (06:55)
- 视频:11-15 路径切换(8) (14:24)
- 视频:11-16 路径切换(9) (12:04)
- 视频:11-17 路径切换(10) (09:53)
- 视频:11-18 路径切换(11) (07:32)
-
第12章 Vuex16 节 | 124分钟
分析了 Vuex 的实现原理,深入分析了它的初始化过程,常用 API 以及插件部分的实现。
- 视频:12-1 Vuex介绍 (05:29)
- 视频:12-2 Vuex 初始化(1) (04:57)
- 视频:12-3 Vuex 初始化(2) (05:48)
- 视频:12-4 Vuex 初始化(3) (07:30)
- 视频:12-5 Vuex 初始化(4) (04:36)
- 视频:12-6 Vuex 初始化(5) (08:50)
- 视频:12-7 Vuex 初始化(6) (08:18)
- 视频:12-8 Vuex 初始化(7) (08:25)
- 视频:12-9 Vuex 初始化(8) (07:23)
- 视频:12-10 Vuex 初始化(9) (05:54)
- 视频:12-11 API(1) (10:47)
- 视频:12-12 API(2) (12:39)
- 视频:12-13 API(3) (10:50)
- 视频:12-14 API(4) (04:59)
- 视频:12-15 API(5) (03:38)
- 视频:12-16 插件 (13:50)