搜尋
首頁開發工具VSCode怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

如何讓 Vue、React 程式碼的偵錯變得更爽?以下這篇文章介紹一下配置VSCode,蘇爽的調試Vue、React 程式碼的方法,希望對大家有幫助!

怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

作為前端開發,基本上每天都要調試Vue/React 程式碼,不知道大家都是怎麼調試的,但我猜大概有這麼多種:

  • 不調試,直接看程式碼找問題
  • console.log 列印日誌
  • 用Chrome Devtools 的debugger 來調試
  • 用VSCode 的debugger 來調試

不同的調試方式效率和體驗是不一樣的,我現在基本上都是用VSCode debugger 來調試,效率又高、體驗又爽。 【推薦學習:《vscode入門教學》】

可能很多同學還不知道怎麼用 VSCode 調試網頁,這篇文章我就來介紹下。

我們分別看下React 和Vue 的:

用VSCode 調試React 程式碼

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

怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

跑起來開發伺服器:

怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

#瀏覽器顯示的介面是這樣的:

怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

#如何用VSCode 來偵錯它呢?

我們在根目錄下新增一個.vscode/launch.json 的設定檔:

怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

建立了一個偵錯配置,類型是chrome,並指定調試的url 是開發伺服器的位址。

在react 程式碼裡打兩個斷點:

怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

#然後點選執行:

怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

看,XDM,它斷了!呼叫棧、當前環境的變數等都有。

怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

釋放斷點,繼續往下走。

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

怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

#是不是超方便!

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

比如渲染的時候會調用renderWithHooks 方法,裡面的workInProgress 物件就是目前fiber 節點,它的memorizedState 屬性就是hooks 存放值​​的地方:

怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

用VSCode 來調試React 程式碼之後,調試業務碼或看原始碼的體驗都很爽,有木有。

再來看下 Vue 的:

用 VSCode 調試 Vue 程式碼

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

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

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

怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

#那要怎麼映射呢?

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

1怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

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

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

1怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

#workspaceRoot 是vscode 提供的環境變量,就是專案的跟路徑,這樣一映射之後,地址不就變成本地的文件了麼?那麼在本機檔案中打斷點就能生效了:

1怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

看這裡的路徑,明顯地對應到專案下的檔案了。

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

1怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

這個路徑是可以設定的,這其實就是webpack 產生sourcemap 的時候的檔案路徑,可以透過output.devtoolModuleFilenameTemplate 來設定:

1怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

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

1怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

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

1怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

那偵錯時的檔案路徑就是這樣的:

1怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

#前綴不用管,就看後面的部分,這不就去掉了?hash 了麼

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

1怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

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

怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!

不管你想調試Vue 業務程式碼,還是想看Vue 原始碼,體驗都會很酷的。

總結

身為前端工程師,調試 Vue、React 程式碼是每天都要做的事情,不同的偵錯方式體驗和效率都是不一樣的。所以我想把我常用的 VSCode 調試網頁的方式介紹給大家。

React 的調試相對簡單,只要添加一個chrome 類型的dubug 配置就行,Vue 的調試要麻煩一些,要做一次路徑映射,如果路徑裡有hash,還要改下生成路徑的配置,然後再映射(但也只需要配一次)。

用 VSCode 來偵錯 React/Vue 程式碼,不管是偵錯業務程式碼,還是想看會原始碼都是很方便的。大家不妨試一下,會讓調試這件事情變得很愉悅的。

更多關於VSCode的相關知識,請造訪:vscode教學! !

以上是怎麼配置VSCode,蘇爽的調試Vue、React 程式碼!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:掘金社区。如有侵權,請聯絡admin@php.cn刪除
Visual Studio:探索定價和許可選項Visual Studio:探索定價和許可選項Apr 13, 2025 am 12:03 AM

VisualStudio提供三種版本:Community免費版適用於個人和小型團隊,Professional付費版適合專業開發者和中小型團隊,Enterprise旗艦版面向大型企業和復雜項目。

Visual Studio的價值:權衡成本與其收益Visual Studio的價值:權衡成本與其收益Apr 12, 2025 am 12:06 AM

VisualStudio在.NET开发中价值高,因其功能强大且全面。尽管成本和资源消耗较高,但其带来的效率提升和开发体验改善显著。对于个人开发者和小型团队,Community版是理想选择;大型企业则适合Professional或Enterprise版。

Visual Studio的可用性:哪些版本是免費的?Visual Studio的可用性:哪些版本是免費的?Apr 10, 2025 am 09:44 AM

VisualStudio的免費版本包括VisualStudioCommunity和VisualStudioCode。 1.VisualStudioCommunity適用於個人開發者、開源項目和小型團隊,功能強大,適合個人項目和學習編程。 2.VisualStudioCode是一個輕量級的代碼編輯器,支持多種編程語言和擴展,啟動速度快,資源佔用少,適合需要靈活性和可擴展性的開發者。

如何為Windows 8安裝Visual Studio?如何為Windows 8安裝Visual Studio?Apr 09, 2025 am 12:19 AM

在Windows8上安裝VisualStudio的步驟如下:1.從微軟官方網站下載VisualStudioCommunity2019安裝包。 2.運行安裝程序並選擇所需組件。 3.完成安裝後即可使用。注意選擇與Windows8兼容的組件,並確保有足夠的磁盤空間和管理員權限。

我的計算機可以運行與代碼嗎?我的計算機可以運行與代碼嗎?Apr 08, 2025 am 12:16 AM

VSCode可以在大多數現代電腦上運行,只要滿足基本系統要求:1.操作系統:Windows7及以上,macOS10.9及以上,Linux;2.處理器:1.6GHz或更快;3.內存:至少2GBRAM(推薦4GB或更高);4.存儲空間:至少200MB可用空間。通過優化設置和減少擴展使用,可以在低配置電腦上獲得流暢的使用體驗。

如何使程序與Windows 8兼容?如何使程序與Windows 8兼容?Apr 07, 2025 am 12:09 AM

要讓程序在Windows8上順暢運行,需採取以下步驟:1.使用兼容性模式,通過代碼檢測並啟用該模式。 2.調整API調用,根據Windows版本選擇適當的API。 3.進行性能優化,盡量避免使用兼容性模式,優化API調用並使用通用控件。

VS代碼在Windows 8上有效嗎?VS代碼在Windows 8上有效嗎?Apr 06, 2025 am 12:13 AM

Yes,VSCodeiscompatiblewithWindows8.1)DownloadtheinstallerfromtheVSCodewebsiteandensurethelatest.NETFrameworkisinstalled.2)Installextensionsusingthecommandline,notingsomemayloadslower.3)Manageperformancebyclosingunnecessaryextensions,usinglightweightt

VS代碼和Visual Studio有什麼區別?VS代碼和Visual Studio有什麼區別?Apr 05, 2025 am 12:07 AM

VSCode是輕量級代碼編輯器,適用於多種語言和擴展;VisualStudio是功能強大的IDE,主要用於.NET開發。 1.VSCode基於Electron,支持跨平台,使用Monaco編輯器。 2.VisualStudio使用微軟自主技術棧,集成調試和編譯器。 3.VSCode適合簡單任務,VisualStudio適合大型項目。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)