React17.x版本源码调试/debug

3,275 阅读2分钟

申明:本文所有操作均参考React的官方文档,结合自己的调试思路,梳理的文档。

当前react版本为17.0.3,原官方文档链接~~ zh-hans.reactjs.org/docs/how-to…~~

通过下载react源码,是不可以直接进行react的源码调试。需要对源码进行打包,生成react、react-dom打包后的代码,然后在自己creat-react-app创建的项目中link到打包后的react、react-dom文件。那么在your app中使用的react、react-dom,就是react源码打包后的文件。
但是,打包后的文件依然保留着源码中的方法名,我们可以先阅读源码,如果想要在源码中需要对某个方法进行打断点,可以在打包后的代码中搜索该方法,然后进行断点调试。

  1. 安装Nodev8.0.0+,Yarn v1.2.0+,JDK
    yarn可以使用 npm yarn -g 全局安装,JDK可以去官网下载JDK安装包并自行安装。

  2. git clone https://github.com/facebook/react.git
    下载react项目到本地。

  3. 打包react项目
    cd ~/path_to_your_react_clone/ // 进入到你本地react源码项目中
    yarn build react/index,react/jsx,react-dom/index,scheduler --type=NODE // 打包react项目

  4. 进入到build目录中,使用 yarn link 将react,react-dom指向本地文件夹的 build 目录。
    cd build/node_modules/react
    yarn link
    cd build/node_modules/react-dom
    yarn link

  5. 进入到你create-react-app创建的项目,将项目中使用的react、react-dom link到本地的build目录。
    yarn link react react-dom


** 需要注意的是,每次打完断点,都需要yarn start你创建的项目,断点才会生效。

接下来我们就开始尝试一下吧 =。=

在react打包后源码中加上一行日志

image.png

重新启动项目后,就可以在浏览器中生效了~

image.png

接下来,就可以开始我们的调试之旅了。