中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用VSCode調試React?Vue代碼

發布時間:2022-09-05 17:11:12 來源:億速云 閱讀:309 作者:iii 欄目:開發技術

這篇文章主要介紹了怎么用VSCode調試React Vue代碼的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么用VSCode調試React Vue代碼文章都會有所收獲,下面我們一起來看看吧。

用 VSCode 調試 React 代碼

我用 create-react-app 創建了一個 demo 項目,有這樣一個組件:

怎么用VSCode調試React?Vue代碼

跑起來開發服務器

怎么用VSCode調試React?Vue代碼

瀏覽器顯示的界面是這樣的:

怎么用VSCode調試React?Vue代碼

如何用 VSCode 調試它呢?

我們在根目錄下添加一個 .vscode/launch.json 的配置文件:

怎么用VSCode調試React?Vue代碼

創建了一個調試配置,類型是 chrome,并指定調試的 url 是開發服務器的地址。

在 react 代碼里打兩個斷點:

怎么用VSCode調試React?Vue代碼

然后點擊運行:

怎么用VSCode調試React?Vue代碼

看,XDM,它斷住了!調用棧、當前環境的變量等都有。

怎么用VSCode調試React?Vue代碼

釋放斷點,繼續往下走。

點擊的時候也能拿到對應的事件對象:

怎么用VSCode調試React?Vue代碼

是不是超方便!

而且當你寫業務累了,想摸魚看會 react 源碼,那直接點擊調用棧里的某一幀看就行:

比如渲染的時候會調用 renderWithHooks 方法,里面的 workInProgress 對象就是當前 fiber 節點,它的 memorizedState 屬性就是 hooks 存放值的地方:

怎么用VSCode調試React?Vue代碼

用 VSCode 來調試 React 代碼之后,調試業務代碼或者看源碼的體驗都很爽,有木有。

再來看下 Vue 的:

用 VSCode 調試 Vue 代碼

Vue 的調試會麻煩一些,要在上面的基礎上額外對路徑做一些映射。

因為 React 我們是直接寫 jsx、tsx,它和編譯之后的 js 文件一一對應,而 Vue 不是,Vue 我們寫的是 SFC(single file component) 格式的文件,需要 vue-loader 來把它們分成不同的文件,所以路徑單獨映射一下,才能對應到源碼位置。

也就是調試配置里多了個 sourceMapPathOverrides:

怎么用VSCode調試React?Vue代碼

那怎么映射呢?

可以在源碼里隨便加個 debugger,在瀏覽器里看下現在映射的路徑是啥:

怎么用VSCode調試React?Vue代碼

這里的 webpack://test-vue-debug/src/App.vue?11c4 就是要映射的路徑,那映射到哪里呢?

很明顯是映射到本地的路徑,也就是這樣:

怎么用VSCode調試React?Vue代碼

workspaceRoot 是 vscode 提供的環境變量,就是項目的跟路徑,這樣一映射之后,地址不就變成本地的文件了么?那么在本地文件中打斷點就能生效了:

怎么用VSCode調試React?Vue代碼

 

看這里的路徑,明顯映射到項目下的文件了。

但是映射的時候后面還帶了個 hash,這個 hash 是會變得,怎么辦呢?

怎么用VSCode調試React?Vue代碼

這個路徑是可以配置的,這其實就是 webpack 生成 sourcemap 的時候的文件路徑,可以通過 output.devtoolModuleFilenameTemplate 來配置:

怎么用VSCode調試React?Vue代碼

可用的變量大家可以看文檔,就不展開了(隨便看一下就行):

怎么用VSCode調試React?Vue代碼

比如我把路徑配成了這樣:

怎么用VSCode調試React?Vue代碼

那調試時的文件路徑就是這樣的:

怎么用VSCode調試React?Vue代碼

前綴不用管,就看后面的部分,這不就去掉了 ?hash 了么

然后把它映射到本地文件:

怎么用VSCode調試React?Vue代碼

這樣就又映射上了,在 vscode 打的斷點就生效了:

怎么用VSCode調試React?Vue代碼

關于“怎么用VSCode調試React Vue代碼”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“怎么用VSCode調試React Vue代碼”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仁化县| 蒙阴县| 汾阳市| 巫溪县| 陆川县| 响水县| 若羌县| 平武县| 炎陵县| 定西市| 东至县| 顺义区| 桓台县| 邻水| 岢岚县| 平邑县| 府谷县| 阿鲁科尔沁旗| 都安| 霍山县| 无为县| 济阳县| 双牌县| 江陵县| 连江县| 新河县| 融水| 甘德县| 安化县| 浮梁县| 阿拉善右旗| 会昌县| 故城县| 蓬安县| 大城县| 永宁县| 罗山县| 唐山市| 逊克县| 马尔康县| 姜堰市|