返回介绍

调试源码

发布于 2020-12-15 07:47:19 字数 6659 浏览 1402 评论 1 收藏 0

了解了源码的文件目录,这一节我们看看如何调试源码。

即使版本号相同(当前最新版为17.0.0 RC),但是facebook/react项目master分支的代码和我们使用create-react-app创建的项目node_modules下的react项目代码还是有些区别。

因为React的新代码都是直接提交到master分支,而create-react-app内的react使用的是稳定版的包。

为了始终使用最新版React教学,我们调试源码遵循以下步骤:

  1. facebook/react项目master分支拉取最新源码
  2. 基于最新源码构建reactschedulerreact-dom三个包
  3. 通过create-react-app创建测试项目,并使用步骤2创建的包作为项目依赖的包

拉取源码

拉取facebook/react代码

# 拉取代码
git clone https://github.com/facebook/react.git

# 如果拉取速度很慢,可以考虑如下2个方案:

# 1. 使用cnpm代理
git clone https://github.com.cnpmjs.org/facebook/react

# 2. 使用码云的镜像(一天会与react同步一次)
git clone https://gitee.com/mirrors/react.git

安装依赖

# 切入到react源码所在文件夹
cd react

# 安装依赖
yarn

打包reactschedulerreact-dom三个包为dev环境可以使用的cjs包。

我们的步骤只包含具体做法,对每一步更详细的介绍可以参考React文档源码贡献章节

# 17.0.0 版本执行命令
yarn build react,react-dom,scheduler --type=NODE

# 17.0.0 之前版本执行命令
yarn build react/index,react-dom/index,scheduler --type=NODE

:::details 网络不好的同学看这里

如果网络不好,执行yarn命令无法完成依赖安装,或者执行yarn build无法完成打包,可以使用我打好的包。

版本为17.0.0-alpha.0

地址

:::

现在源码目录build/node_modules下会生成最新代码的包。我们为reactreact-dom创建yarn link

通过yarn link可以改变项目中依赖包的目录指向

cd build/node_modules/react
# 申明react指向
yarn link
cd build/node_modules/react-dom
# 申明react-dom指向
yarn link

创建项目

接下来我们通过create-react-app在其他地方创建新项目。这里我们随意起名,比如“a-react-demo”。

npx create-react-app a-react-demo

在新项目中,将reactreact-dom2个包指向facebook/react下我们刚才生成的包。

# 将项目内的react react-dom指向之前申明的包
yarn link react react-dom

现在试试在react/build/node_modules/react-dom/cjs/react-dom.development.js中随意打印些东西。

a-react-demo项目下执行yarn start。现在浏览器控制台已经可以打印出我们输入的东西了。

通过以上方法,我们的运行时代码就和React最新代码一致了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

圆方 2021-07-12 16:05:55

多谢

~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文