入口文件開始,分析Vue源碼實現

Why?

網上現有的Vue源碼解析文章一搜一大批,可是爲何我還要去作這樣的事情呢?由於以爲紙上得來終覺淺,絕知此事要躬行vue

而後平時的項目也主要是Vue,在使用Vue的過程當中,也對其一些約定產生了一些疑問,可能官網上只會建議你這麼作,可是核心實現咱們可能並不知道。好比:git

  • v-for key 是如何達到「就地複用」策略
  • 數組更新檢測是如何完成的
  • set 爲何就能動態添加根級別的響應式屬性
  • 爲何Vue能夠跨平臺支持weex,以及後來出現的mpvue
  • ...

其次,好久沒有更新內容了,以前對Vue源碼也是有點研究,只不過沒有很體系的記錄,如今抽了點時間,作了一次基礎的總結吧。一方面是由於想要克服本身的惰性,另外一方面也是想從新溫故一遍。github

What?

一共分紅了10個基礎部分,後續還會繼續記錄。咱們能夠先看一下概覽:
數組

而後咱們來看一下基礎的目錄:weex

入口開始,解讀Vue源碼(一)———— 造物創世函數

入口開始,解讀Vue源碼(二)—— new Vue 的故事雙向綁定

入口開始,解讀Vue源碼(三)—— initMixin 上篇code

入口開始,解讀Vue源碼(三)—— initMixin 下篇blog

入口開始,解讀Vue源碼(四)—— 實現一個基礎的 Vue 雙向綁定get

入口開始,解讀Vue源碼(五)—— $mount 內部實現

入口開始,解讀Vue源碼(六)—— $mount 內部實現 --- compile parse函數生成AST

入口開始,解讀Vue源碼(七)—— $mount 內部實現 --- compile optimize標記節點

入口開始,解讀Vue源碼(八)—— $mount 內部實現 --- compile generate 生成render函數

入口開始,解讀Vue源碼(九)—— $mount 內部實現 --- render函數 --> VNode

入口開始,解讀Vue源碼(十)—— $mount 內部實現 --- patch

End?

文章先後也是利用碎片時間總結整理而成,有些也是翻閱了不少的資料,也有過引用巨人的段落,文章中有所標註。若是沒有標註,多是本人忘記了,歡迎提醒。文章中若是有筆誤或者不正確的解釋,也歡迎批評指正,共同進步。

最後:

github地址

部分源碼demo

相關文章
相關標籤/搜索