如何debug Vue原始碼

2021-09-22 21:10:39 字數 1285 閱讀 8305

1.首先用vue-cli或者直接構建webpack引入帶compile 版本的vue。讓vue專案可以跑起來。專案可以很簡單,最主要是跑起來即可

2.其次,檢視webpack  alias 配置:

這裡說明我們在import vue的時候,引入的vue原始檔是在**:從webpack配置中可以看出,vue是引入node_modules的vue-->dist-->vue.esm.js 這個檔案,開啟這個檔案,然後在你想要除錯的地方寫入debugger

舉個栗子:比如我要檢視vue function構建vue例項到底經過哪些過程,可以在這裡打個debugger

然後重新整理網頁,就會出現除錯面板了:

然後想怎麼除錯,單步除錯還是多步除錯都可以。可以看到原始碼是怎麼執行的。這樣便於理解原始碼,閱讀原始碼的思路。

通過除錯,我看到了vue例項初始化的最後一步是mounted

然後我想看$mount函式是怎麼實現的,於是就搜尋vue.esm.js的這個函式。我們知道vm.$mount實際上就是

vue.prototype.$mount,這個方法在vue.esm.js裡面搜尋到是這樣的:

可以看到 mountcomponent是乙個關鍵方法。於是就接下看mountcomponent 做了什麼。

如果還不確信,可以在mountcomponent函式裡面進行改寫等操作,進一步理解原始碼的意思。

舉個栗子:

然後可以看到網頁有dom出來的時候,控制台也列印了這句。

總結:1.原始碼不要一頭扎進去讀,而是先多步除錯,知道流程。想看什麼部分就debugger哪部分。然後想看詳細的地方,可以改寫**,看效果,進一步理解。最後構建出思維導圖。串起來,總結,或者把核心**拿出來自己玩乙個簡單的demo再次複習。

Webpack 原始碼(二) 如何閱讀原始碼

如果想要了解 webpack 的流程,只要閱讀 七珏 細說 webpack 之流程篇 所述的內容就夠了,講解地比較全面了 本文就不對 webpack 流程再做重複的描述,而是從另外乙個角度補充分析 webpack 原始碼 webpack 中最為重要的無非是 compiler compilation ...

如何閱讀原始碼

帶著問題閱讀 要解決什麼問題 是如何實現的?背景調查 看官網介紹 維基百科,了解主要功能,被應用於哪些專案以及基本的使用,掌握這些基本資訊 使用框架 至少follow get started 做個小demo 真的有人連api都沒呼叫過,上來就看 盡可能編譯除錯。能除錯的 幾乎沒有看不懂的 了解一些設...

如何閱讀原始碼

我剛開始閱讀原始碼就是盲目的去讀,不知到問什麼要讀,讀那部分,甚至準備把所有的原始碼類從上到下依次讀一遍,但是其實這樣是錯的,導致我從第乙個類開始就不知道當前這類的作用,乙個星期也沒什麼進展 其實正確閱讀原始碼的姿勢應該是首先得有疑問,比如spring框架,很長一段時間我都聽說spring的ioc是...