周末在家休息,突然想看看 Vue 第一次的 commit 提交了什麼,想看看 Vue 最開始的樣子。查看之後發現 Vue 的第一版並沒有我想像的那麼完美,可以說有些簡陋。但這不影響 1 年多以後這個框架的流行。
查看 Vue 的第一次 commit不知道有沒有同學是純體力的找到的第一次提交,這裡提供一個簡單的方案;
第一步:git clone https://github.com/vuejs/vue.git
第二步:git log--all
然後輸入一個很大的數:
回車,你就能看到第一次提交的 hash 值了:
第三步:輸入 q 即可退出,然後:
git checkout83fac017f96f34c92c3578796a7ddb443d4e1f17
現在你的 VScode 上顯示的就是 Vue 的第一次 commit 的內容了!
vue 第一次 commit 的傳送門:https://github.com/vuejs/vue/tree/83fac017f96f34c92c3578796a7ddb443d4e1f17
發現Vue 最初的樣子是這 66 行代碼
你會發現第一次 commit 使用的打包工具是 grunt;
然後 checkout 到第二次 commit,就看到了雙向綁定的一個核心: Object.defineProperty(),細心的你會發現 getset.html 裡面定義的方法名是 Element(Element UI ?);
再然後 checkout 到第三次 commit, 你會發現原來 Vue 一開始的命名是 Seed,而非 Vue;
你每一次 checkout 到下一次的 commit 的時候,你對 Vue 的認識就會多一點。
……
這像不像在從頭看一部電影,我覺得通過這種方式來學習 Vue,可能會比直接學習 vue 最後提交的樣子來的更生動。如果你是看別人對 Vue 源碼的解讀,更像是在看影評人的解讀 —— 總是會存在迷惑。
小生以為這也是一種學習源碼的方式,通過這種方式你會體會到一些看源碼的樂趣。當然這種方式花費的時間可能會更多,不過理解的也會更深刻。
長按關注小生