瀏覽代碼

添加 Vue 实例设计

HcySunYang 8 年之前
父節點
當前提交
2ee0fae35b
共有 4 個文件被更改,包括 39 次插入16 次删除
  1. 5 5
      README.md
  2. 12 11
      note/Vue构造函数.md
  3. 12 0
      note/附录/Vue实例的设计.md
  4. 10 0
      note/附录/core-util.md

+ 5 - 5
README.md

@@ -14,8 +14,8 @@
 
 ### 附录
 
-##### [附录/Vue构造函数整理-原型](/note/附录/Vue构造函数整理-原型)
-##### [附录/Vue构造函数整理-全局API](/note/附录/Vue构造函数整理-全局API)
-##### [附录/core/util 目录下的工具方法全解](/note/附录/core-util)
-##### [附录/platforms/web/util 目录下的工具方法全解](/note/附录/web-util)
-##### [附录/shared/util.js 文件工具方法全解](/note/附录/shared-util)
+##### [Vue构造函数整理-原型](/note/附录/Vue构造函数整理-原型)
+##### [Vue构造函数整理-全局API](/note/附录/Vue构造函数整理-全局API)
+##### [core/util 目录下的工具方法全解](/note/附录/core-util)
+##### [platforms/web/util 目录下的工具方法全解](/note/附录/web-util)
+##### [shared/util.js 文件工具方法全解](/note/附录/shared-util)

+ 12 - 11
note/Vue构造函数.md

@@ -29,24 +29,25 @@
 ```js
 const path = require('path')
 
+const resolve = p => path.resolve(__dirname, '../', p)
+
 module.exports = {
-  vue: path.resolve(__dirname, '../src/platforms/web/entry-runtime-with-compiler'),
-  compiler: path.resolve(__dirname, '../src/compiler'),
-  core: path.resolve(__dirname, '../src/core'),
-  shared: path.resolve(__dirname, '../src/shared'),
-  web: path.resolve(__dirname, '../src/platforms/web'),
-  weex: path.resolve(__dirname, '../src/platforms/weex'),
-  server: path.resolve(__dirname, '../src/server'),
-  entries: path.resolve(__dirname, '../src/entries'),
-  sfc: path.resolve(__dirname, '../src/sfc')
+  vue: resolve('src/platforms/web/entry-runtime-with-compiler'),
+  compiler: resolve('src/compiler'),
+  core: resolve('src/core'),
+  shared: resolve('src/shared'),
+  web: resolve('src/platforms/web'),
+  weex: resolve('src/platforms/weex'),
+  server: resolve('src/server'),
+  entries: resolve('src/entries'),
+  sfc: resolve('src/sfc')
 }
-
 ```
 
 其中有这么一句:
 
 ```js
-web: path.resolve(__dirname, '../src/platforms/web')
+web: resolve('src/platforms/web')
 ```
 
 所以 `web` 指向的应该是 `src/platforms/web`,除了 `web` 之外,`alias.js` 文件中还配置了其他的别名,大家在找对应目录的时候,可以来这里查阅,后面就不做这种目录寻找的说明了。

+ 12 - 0
note/附录/Vue实例的设计.md

@@ -0,0 +1,12 @@
+## Vue 实例的设计
+
+这里是对 `Vue` 实例的整理,利于我们直观的观察 `Vue`
+
+```js
+// Vue.prototype._init
+vm._uid = uid++     // 每个Vue实例都拥有一个唯一的 id
+vm._isVue = true    // 这个表示用于避免Vue实例对象被观测(observed)
+vm.$options         // 当前 Vue 实例的初始化选项,注意:这是经过 mergeOptions() 后的
+vm._renderProxy = vm
+vm._self = vm
+```

+ 10 - 0
note/附录/core-util.md

@@ -1,2 +1,12 @@
 ## core/util 目录下的工具方法全解
 
+#### debug.js 文件代码说明
+
+该文件主要导出三个函数,如下:
+
+```js
+export let warn = noop
+export let tip = noop
+export let formatComponentName: Function = (null: any) // work around flow check
+```
+