Bläddra i källkod

完善目录,整理前言

HcySunYang 7 år sedan
förälder
incheckning
e9b65ea51b

+ 6 - 1
docs/.vuepress/config.js

@@ -37,8 +37,13 @@ module.exports = {
             '6vue-init-start',
             '7vue-reactive',
             '8vue-reactive-dep-watch',
+            '9vue-state-init',
             '80vue-compiler-start',
-            '81vue-parse-ast'
+            '81vue-parse-ast',
+            '82vue-parsing',
+            '83vue-codegen',
+            '84vue-vdom',
+            '85vue-vdom-patch'
           ]
         }
       ],

+ 7 - 0
docs/art/10vue-core-idea.md

@@ -0,0 +1,7 @@
+# Vue 的核心思路
+
+## 编译器是一切的开端
+
+## 虚拟DOM优化了DOM操作
+
+## 组件的渲染时机

+ 16 - 0
docs/art/82vue-parsing.md

@@ -0,0 +1,16 @@
+# Vue 句法分析 - 生成真正的AST
+
+## 根据令牌生成AST的思路
+
+## 解析前的准备工作
+
+## 对令牌的加工
+
+### 增加的 calss
+### 增加的 style
+### 特殊的 model
+
+## 生成抽象语法树(AST)
+
+## 静态优化
+

+ 21 - 0
docs/art/83vue-codegen.md

@@ -0,0 +1,21 @@
+# 编译器之代码的生成
+
+## 代码生成的思路
+
+## 静态优化内容所生成的代码
+
+## 一次性渲染的内容所生成的代码
+
+## 需要遍历的内容所生成的代码
+
+## 条件渲染内容所生成的代码
+
+## 插槽内容所生成的代码
+
+## 自定义组件所生成的代码
+
+## 普通元素所生成的代码
+
+## 生成 vnodeData
+
+## 代码生成总结

+ 11 - 0
docs/art/84vue-vdom.md

@@ -0,0 +1,11 @@
+# 虚拟DOM解析
+
+## Vue中虚拟DOM的思路
+
+## 虚拟节点解析
+
+## 渲染函数所生成的虚拟DOM
+
+## 异步组件的实现
+
+## 函数式组件的实现

+ 2 - 0
docs/art/85vue-vdom-patch.md

@@ -0,0 +1,2 @@
+# 虚拟DOM补丁算法详解
+

+ 9 - 0
docs/art/9vue-state-init.md

@@ -0,0 +1,9 @@
+# 其他重要选项的初始化
+
+## props 的初始化及实现
+
+## methods 选项的初始化及实现
+
+## provide 选项的初始化及实现
+
+## inject 选项的初始化及实现

+ 7 - 2
docs/art/README.md

@@ -4,12 +4,17 @@
 
 有的同学可能会有疑问,比如:*你又不是作者本人,你怎么知道人家的代码为什么那么写*、*Vue.js又不是你写的,谁知道你分析的对不对* 等等。
 
-对于第一个问题我想说的是,你们的怀疑是对的,毕竟最有权威分析 `Vue` 源码的人必然是作者本身,但同学们要知道**尤大才没有时间来给大家写一套源码分析的文章**。对于第二个问题,`Vue` 确实不是我写的,但为了证明这套文章还是稍微有点质量的,在这里我把所有我给 `Vue` 贡献的所有 `PR` 都贴在下面,也证明我确实对 `Vue` 有些粗浅的理解。
+对于第一个问题我想说的是,你们的怀疑是对的,毕竟最有权威分析 `Vue` 源码的人必然是作者本身,但同学们要知道**作者(小右)才没有时间来给大家写一套源码分析的文章**。对于第二个问题,`Vue` 确实不是我写的,但为了证明这套文章还是稍微有点质量的,在这里我把看源码过程中提过的一些 `PR` 贴在下面,也证明我确实对 `Vue` 有些粗浅的理解。
+
+* [https://github.com/vuejs/vue/pull/7981](https://github.com/vuejs/vue/pull/7981)
 * [https://github.com/vuejs/vue/pull/6795](https://github.com/vuejs/vue/pull/6795)
+* [https://github.com/vuejs/vue/pull/7875](https://github.com/vuejs/vue/pull/7875)
 * [https://github.com/vuejs/vue/pull/6833](https://github.com/vuejs/vue/pull/6833)
 * [https://github.com/vuejs/vue/pull/7308](https://github.com/vuejs/vue/pull/7308)
 * [https://github.com/vuejs/vue/pull/7762](https://github.com/vuejs/vue/pull/7762)
+* [https://github.com/vuejs/vue/pull/7510](https://github.com/vuejs/vue/pull/7510)
+
+说实话,上面的 `PR` 都是些微不足道的,因为写文章需要大量的时间,随着这些文章的完成,我很希望抽出时间做一些实质性的贡献。
 
 ## 为什么要阅读源码?