目錄
clone React
編譯專案
進行debugger
vscode
webstrom
在create-react-app中debug
vscode如何debugger
webstrom如何debugger
调试React vite项目
总结:
首頁 開發工具 VSCode 怎麼調試R​​eact源碼?多種工具下的除錯方法介紹

怎麼調試R​​eact源碼?多種工具下的除錯方法介紹

Mar 31, 2023 pm 06:54 PM
webstorm react.js visual studio code

怎麼調試R​​eact源碼?以下這篇文章帶大家聊聊多種工具下的調試React源碼的方法,介紹一下在貢獻者、create-react-app、vite專案中如何debugger React的真實源碼,希望對大家有所幫助!

clone React

React#clone到本機,並安裝依賴.

git clone https://github.com/facebook/react.git
登入後複製

編譯專案

如果只是透過簡單的yarn build,並不會產生sourcemap, 這不是我們想要的,我們需要編譯出現代編輯器所需的sourcemap進行對應到實際原始碼進行偵錯。

當前react專案並無法透過簡單增加參數來產生sourcemap,我們需要修改scripts/rollup/build.js下的部分配置【推薦學習:vscode教學程式設計教學

①: 修改sourcemap 為true②:註解部分無法產生sourcemap的外掛

ok ,看起來很多,但其實大致都連在一起(353-355, 387-415), 註解掉了幾個插件,此時我們可以進行build了

yarn build
登入後複製

#注意: 如果build失敗,提示你需要安裝jdk,根據報錯安裝即可。

成功效果如下:

進行debugger

我們根據官方文件得知基礎開發檔目錄在/fixtures/packaging/babel-standalone/dev.html中,於是我們依照該html先進行簡單的debug設定。

vscode

1、建立一個launch.json

2、修改launch.json 配置

{
  // 使用 IntelliSense 了解相关属性。 
  // 悬停以查看现有属性的描述。
  // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "type": "chrome",
      "request": "launch",
      "name": "Open dev.html",
      // 这里路径可能不一样 做统一调整 修改为如下
      "file": "${workspaceFolder}/fixtures/packaging/babel-standalone/dev.html"
    }
  ]
}
登入後複製

然後在源碼打上斷點,點擊打開debug即可看到運行到源碼成功.

注意:此時我們已經有了sourcemap,直接在/packages/react-dom/packages/react會運行到程式碼打上斷點

webstrom

webstrom的十分簡單,在dev.html右鍵進行調試dev.html即可:

##如上面的案例已經滿足你的大部分的源碼調試需求,並且我們也可以通過增加一些組件或hook來進行調試:

#如果你實在想在真實項目中進行源碼閱讀,可以繼續往下閱讀。

在create-react-app中debug

我們平時大多都基於create-react-app或vite來運行項目,我們可以透過npm link來進行對原始碼的連結。

上面的案例適合react開發者使用並且已經滿足你的小部分需求,但是我們平時大多都基於create-react-app或者vite來運行項目,我們可以通過npm link來鏈接一下即可。

①: 建立一個create-react-app專案

②: 在React專案中將

react,react-dom連結到全域.

注意: 需要根據你實際目前處於的位置去執行,總而言之就是到

build/node_modules/reactbuild/node_modules/react-dom#分別執行npm link就行啦.

cd build/node_modules/react && npm link
登入後複製
如下就成功了一個:

再把react-dom也link吧.

cd .. && cd react-dom && npm link
登入後複製

③: 在create-react-app的项目中link react与react-dom

 npm link react react-dom
登入後複製

大功小成,接下来开始正式的debugger.

vscode如何debugger

官方已经给出部分文档, 参考文档: 文档

  • 先启动项目 yarn start
  • 增加launch.json配置: 文档

注意:
1、如果你项目端口进行了修改,需要把上方的端口也做修改.
2、官方提供的是edge浏览器,如果你想改谷歌浏览器只需要把type修改为chrome

笔者的配置如下:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "chrome",
      "request": "launch",
      "name": "调试creat-react-app源码",
      "url": "http://localhost:3000",
      "webRoot": "${workspaceFolder}"
    }
  ]
}
登入後複製
  • 找个位置打上断点进行调试③、④为我打上断点的位置,点击 ⑤ 即可看到进入源码啦(可能要多点几下)

至此:我们已经大功告成,可以进行源码调试。

webstrom如何debugger

webstorm就显得十分简单,参考官方文档: 文档

  • 打上断点
  • 启动项目 yarn start
  • 使用按键打开调试面板, 文档

调试React vite项目

和上方一致,也是通过link

总结:

调试源码的逻辑核心在于sourcemap,但是我们不难发现其中存在一些问题:

1、当前我们跨项目进行调试(源码在react项目中,我们的项目在另外一个文件中),导致类型管理出现问题, 这是基于开发项目的定义管理,不同编辑器表现不同.

  • vscode这是因为vscode默认解析ts的,但是不会默认识别flow的语法,所以这种的代码会解析成ts语法,就会报错,我们在项目增加 .vscode/settings.json 增加配置:
{
  "javascript.validate.enable": false
}
登入後複製

即表现正常,不再报错:

  • webstorm

webstrom则是无法找到定义

更多关于VSCode的相关知识,请访问:vscode基础教程

以上是怎麼調試R​​eact源碼?多種工具下的除錯方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

webstorm閃退怎麼解決 webstorm閃退怎麼解決 Apr 08, 2024 pm 02:24 PM

解決 WebStorm 閃退問題的步驟:檢查更新;重新啟動電腦;停用外掛程式;重設設定;清除快取;檢查防火牆和防毒軟體;重新安裝 WebStorm;聯絡支援團隊。

webstorm怎麼運行jsp項目 webstorm怎麼運行jsp項目 Apr 08, 2024 pm 03:39 PM

可以透過以下步驟在 WebStorm 中執行 JSP 專案:建立一個 Java Web 專案。配置項目,新增 Web 和 Java EE facet。在 "src/main/webapp" 目錄中建立 JSP 檔案。編寫 JSP 程式碼,包括 HTML、Java 和 JSP 標籤。部署並運行專案。在瀏覽器中輸入應用程式上下文根目錄以存取 JSP 頁面。

webstorm怎麼連接資料庫 webstorm怎麼連接資料庫 Apr 08, 2024 pm 03:42 PM

可透過以下步驟使用WebStorm 連線資料庫:1. 開啟資料庫工具視窗;2. 建立資料來源;3. 連線到資料來源;4. 查詢資料庫;5.瀏覽表與資料;6. 編輯資料庫物件;7.管理使用者和權限。

如何重啟webstorm 如何重啟webstorm Apr 08, 2024 pm 07:15 PM

若要重新啟動 WebStorm,請依照下列步驟操作:使用快速鍵:Windows/Linux:Ctrl + Shift + A,macOS:Cmd + Shift + A。在搜尋欄位中輸入“重新啟動”,然後選擇“重新啟動”。使用選單:點選「檔案」選單,選擇「重新載入」下的「重新啟動」。使用工作管理員:在工作管理員或強制退出應用程式視窗中,選擇 WebStorm 進程,然後點擊「重新啟動」或「重新啟動」。

webstorm怎麼自動換行 webstorm怎麼自動換行 Apr 08, 2024 pm 03:48 PM

WebStorm 提供自動換行功能,可將程式碼分行提高可讀性。其規則包括:1. 分行長表達式和語句;2. 分行方法呼叫;3. 分行函數和類別定義。使用者可自訂設置,例如最大行長、縮排類型和快捷鍵。不過,自動換行可能不適用於單行註解或字串字面值,且會影響程式碼格式,建議在應用前仔細審查。

webstorm自動換行在哪 webstorm自動換行在哪 Apr 08, 2024 pm 08:09 PM

WebStorm 中可以透過下列步驟設定自動換行:勾選 "Wrap lines" 複選框並設定最大行寬。選擇自動換行規則:無、任意位置換行、關鍵字後換行。可選設定:保留手動換行、回車後自動換行。應用設定並關閉設定視窗。注意:此設定適用於所有文件類型,特定文件類型可單獨設定。

webstorm和vscode哪個好用 webstorm和vscode哪個好用 Apr 08, 2024 pm 07:33 PM

對於專注於 Web 開發,追求深度功能的開發者,WebStorm 是更佳選擇;而重視可自訂性、輕量級和多語言支援的使用者則更適合 VSCode。

webstorm怎麼登入 webstorm怎麼登入 Apr 08, 2024 pm 04:45 PM

登入 WebStorm 的步驟:1. 開啟 WebStorm;2. 選擇 GitHub 或 JetBrains 帳戶登入;3. 輸入憑證;4. 授權存取帳戶;5. 完成登入。

See all articles