这个指南在react 官方文档中是有的,如果感兴趣请移步官方,react作为开源浪潮中前端最为成功和流行的项目,它对pull request的指南也是值得学习的。
- 提交pull request之前,确保:
- fork https://github.com/facebook/react 这个仓库,以main分支为基础创建分支
- 在仓库的根目录下执行yarn
- 如果修复的bug或者添加了code,而这些内容需要添加测试,请添加测试
- 确保通过测试(yarn test)。提示:在开发环境下,yarn test --watch TestName很有用,(目前还没试用)。
- 生产环境下,请运行 yarn test --prod来进行测试
- 如果需要调试,请执行 yarn debug-test --watch TestName,,打开
chrome://inspect
, 之后再打开 “审查”。 - 试用 yarn prettier来格式化代码
- yarn lint 来校验代码,提示: 执行yarn lintc去只检查更改过的代码,所以速度会比yarn lint 更快。
- 运行Flow来进行类型检查 yarn flow
- 请签订贡献者许可证协议: Contributor License Agreement
- 开发机器必要条件
- Node, Yarn
- JDK
- gcc
- git
- 开发工作流程
- 克隆React项目之后,执行yarn来获取依赖,之后你可以执行以下命令:
- yarn lint 检查代码风格
- yarn lintc和yarn lint 差不多,但是运行更快,因为知识检查了分支中的不同的文件
- yarn test 运行完整的测试
- yarn test --watch 运行交互式的测试监听器
- yarn test --prod 在生产环境下运行测试
- yarn test <pattern>匹配文件名,运行响应测试
- yarn debug-test 和yarn test差不多,不过多了个调试器,可以代开
chrome://inspect
并审查。 - yarn flow运行Flow进行类型检查
- yarn build新建涉及所有包的build文件夹
- yarn build react/index, react-dom/index --type=UMD生成只有React和ReactDOM的UMD版本
- 建议:
- 先运行yarn test确保项目没有引入新的问题
- 运行 yarn build,这会在build文件夹中生成预先构建的bundle,还会在build/packages中生成npm包
- 最简单的一个快速探查你做出的修改的一个方法是:先运行yarn build react/index, react-dom/index -type=UMD,之后再打开fixtures/packaging/babel-standalone/dev.html,这个文件已经使用build文件夹中的react.development.js了,所以能看你的修改是否有问题。
- 如果你想测试你对已有 React 项目做出的更改,你可以复制
build/node_modules/react/umd/react.development.js
和build/node_modules/react-dom/umd/react-dom.development.js
或其它构建版本,放入你的应用中并使用这些构建版本而非稳定版。 - 如果你的项目用 npm,你可以从依赖中删去
react
和react-dom
,使用yarn link
将其指向本地文件夹的build
目录。请注意,**当请在构建时,传递--type=NODE
,而不是--type=UMD
。同时,你还需要构建scheduler
的 package:-
cd ~/path_to_your_react_clone/ yarn build react/index,react/jsx,react-dom/index,scheduler --type=NODE cd build/node_modules/react yarn link cd build/node_modules/react-dom yarn link cd ~/path/to/your/project yarn link react react-dom
-
- 克隆React项目之后,执行yarn来获取依赖,之后你可以执行以下命令:
-
未完待续
晚来一阵风兼雨