寫文章不容易,點個讚唄兄弟 <br> <br> 專一 Vue 源碼分享,文章分爲白話版和 源碼版,白話版助於理解工做原理,源碼版助於瞭解內部詳情,讓咱們一塊兒學習吧 研究基於 Vue版本 【2.5.17】前端
若是你以爲排版難看,請點擊 下面連接 或者 拉到 下面關注公衆號也能夠吧數組
終於啊終於啊,把 Vue 系列的文章發完了了,如釋重負的感jio啊,今天就打算總結下,我這段時間來的歷程和收穫,本文純吹水,沒有技術含量,各位客官權當娛樂消遣也無謂,來收集個表情包也是能夠的框架
花了3個多月讀源碼,花了六個月 寫文章,花了九個月發文章dom
耗時以下函數
從 2018 - 9 - 10 開始讀源碼學習
而後從 2018 - 12 - 5 開始寫文章測試
而後 2019 - 6 - 2 寫完全部文章3d
而後 2019 - 8 - 19 發完全部文章(也就是今天)調試
我不是寫了就立刻發的,我寫完一篇文章以後,要等一段時間以後,再從新審覈一遍再發送,這樣一來,既能夠發現遺漏的錯誤,也可能能夠收穫不一樣的心得
你覺得這時間算長的了嗎??
其實若是隻用晚上下班回去的時間寫的話......寫文章估計得用一年......我不只內容追求簡單,可讓咱們在之後忘記的時候迅速撿回來,我還要追求排版好看(鱉跟我說難看好不嘍,我花了不少心思的哈哈),由於我知道排版難看的文章一秒都不想愛看下去....
而後我爲何只用半年呢,我.....很差說....哈哈哈
不過也算很長了,歷時這麼長,真的是很是難熬的,在 堅持和 放棄中 搖擺不定,57 篇文章真不是搞笑的啊,差點崩潰了
幸虧給本身定的獎勵,一路撐着我走到如今
好比寫完這個系列,我打算給本身買雙鞋子.....
咳咳,回到正題
閱讀源碼不難,難的是深度閱讀源碼
怎麼深度閱讀呢,就是本身先提早想好一堆問題,而後去源碼中找答案,否則一堆源碼擺在面前,是會懵逼的
並且當你發現你要解決一個問題的時候,一般你要先解決七八個問題,而且你會碰到好多盲區知識點,這就是最煩的地方
而寫文章是煩上加煩了,我不能囫圇吞棗啊,涉及的盲區知識通通都要去了解,全部附加的問題也通通要解決,由於你要更加詳細的瞭解他的流程 而且 理解,沒得辦法的啊
不要以爲邊看源碼而後隨便記個筆記就能夠了,筆記是應付本身的,你以爲你會花多少精力去弄?
反正我以爲本身看源碼時作的筆記,都沒能怎麼幫助我寫文章,由於偷懶沒怎麼用心去寫
因此更加堅決了我寫文章的信念,特麼的,寫的筆記都不想看,我特麼時間不是白花了嗎,源碼不是白看了嗎
我看源碼測試,都是直接看一整個開發版的 Vue 文件,而我看網上不少人都是選擇看 Github 上 Vue 功能分類好的文件夾
我我的不太喜歡這樣,雖然每一個文件都相比一整個文件簡短很多,功能分類好,可是文件太多,會徒增個人疲憊感和厭煩感
我直接看一個整個文件,直接script引入,有一種爬高山的感受。直接征服一萬多行的代碼,爽得黑文
像上面那種,就是像爬不少座小山,我的感受會累不少,有點煩
並且這樣方便我進行調試,相關內容能夠看看
都不知道寫文章有多煩,耗費的時間和精力不是通常的多,比看源碼還要多
有時看源碼,基本弄懂一個流程就好了,根本不會細緻到每個細節
由於要寫文章,我必須精細到每個細節,完整走一遍流程,生怕本身寫的東西不夠嚴謹(雖然可能也會有瑕疵)
有時明明已經寫到吐了,仍是堅持完成目標,這真的是一個噁心的過程啊喂。
有時真的想一想這樣好煩啊,可是,我堅決一個信念
越使我煩躁的東西,越能使我強大
簡單的東西,你們都會,憑什麼你能更加優秀
難的東西,你們都不會,憑什麼你能更加優秀
那我想更加優秀,我就只能從煩入手了,由於煩躁自己就已經幫我篩選過濾了一部分人
那麼只要我突破他,那我就能夠領先這部分人
由於原本就不是什麼很厲害的人,普普統統的程序猴子
你要作的就是去跨越那些煩躁的東西
難的東西你不行,煩躁的東西你還不願去弄,你競爭個毛啊競,翻去執牛屎了
這種煩躁的情緒在 寫 compile 的時候特別嚴重,由於 compile 的源碼實在 是太多了,雖然已是看過一遍並作了筆記,纔來寫的文章,仍然剛到很吃力,很是吃力
compile 的每一篇文章,大概都花幾天的才寫完的,最長的可能一個星期,而且在發以前還要審覈一天以確保正確性,而 compile 有多少篇文章呢?
嗯,有 9 篇,真的是傾注心血的,我以爲不會辜負看過的人
一、本身的想法不免有限,確定會有漏掉的錯誤,別人能夠發現指正你
二、分享本身的成果。一我的不停變好的人,也必定可讓別人一塊兒變好
讀源碼,我的感受有什麼好處呢,簡單羅列幾點把
一、懂得不少項目細節的處理方法,好比對象合併,好比清空數組
二、更加熟悉這個框架,能夠解決遇到的奇怪問題而不會幹着急(好比以前碰到的 computed 緩存)
三、學到不少新知識點(MessageChannel,shadow dom)
四、可讓你從新認識舊知識(宏微任務)
五、怎麼寫出規範又好維護的代碼
六、能夠看懂別人打包後的代碼(笑哭)
七、項目有些問題的處理思路,好比在 Diff 中有個函數,學會了怎麼在兩個數組中,匹配是否有相同項
在 Vue 源碼分享大會的開始,咱們也有說過,能夠看下
我很懼怕本身會寫錯東西,因此一直很當心翼翼地檢查文章,寫出一篇文章我不會立刻發表,而是等過一段時間再審查一遍,看是否有不通暢,不正確的地方
只能說個人能力有限吧,仍是會難以免地可能存在的錯誤
看了文章的童鞋,但願能對大家有所幫助
有錯誤的地方,也請敢於指出,我很是但願有人糾正我哈哈,我會有重酬的!
Vue 系列寫完以後,後面可能會更新一些 Vue 的番外篇,好比源碼中的一些小功能,可是如今估計會斷更一段時間,接着後面會發騰訊前端進階課程的心得