对 Electron 进行开发
这些指南是为希望修改 Electron 自身的人准备的。 有关使用 Electron 来开发应用程序的指南,请参见/docs/README.md。
目录
入门指南
为了对 Electron 做出贡献,您需要做的第一件事是获取代码。
Electron 的 build-tools
通过不同的配置和构建目标,自动化生成了编译 Electron 所需的大部分环境设置。
如果你想手动构建 Electron,请参阅 构建说明。
检出并编译好源码后,您可能需要浏览一下源码树,以便更好地了解每个目录的职责。 源代码目录结构 很好地概述了每个目录的职责。
在 Electron 上提问题
对于任何问题,您可以通过三种方式参与贡献:
- 创建供讨论的问题
- 如果您认为您在 Electron 中发现了一个新的 Bug 您应该通过在
electron/electron
issue tracker 中创建一个新的问题来报告它。
- 如果您认为您在 Electron 中发现了一个新的 Bug 您应该通过在
- 对问题进行细分
- 为此,您可以提供辅助信息(可供复现 Bug 的测试用例),也可以提供解决问题的建议。
- 解决问题
- 这可以通过演示证明问题不是 Bug 或已修复来完成;更多时候,您需要创建具体且可审查的代码提交到
electron/electron
中。
- 这可以通过演示证明问题不是 Bug 或已修复来完成;更多时候,您需要创建具体且可审查的代码提交到
更多详细信息,请参阅 issues。
向 Electron 创建代码提交(PR)
Most pull requests opened against the electron/electron
repository include changes to either the C/C++ code in the shell/
folder, the TypeScript code in the lib/
folder, the documentation in docs/
, or tests in the spec/
folder.
更多详细信息,请参阅 pull requests。
如果要向 Electron 添加新的 API 模块,则需要查看 创建 API。
治理
Electron 有一个全面的治理系统,负责监督 Electron 公司的活动,其工作组负责诸如 API 管理、版本发行等领域的工作, 包括对 Chromium 和 Node.js 在内的 Electron 依赖的升级。 根据您希望贡献的频率和目的,您可能需要考虑加入工作组。
Details about each group and their responsibilities can be found in the governance repo.
Electron 中的 Patchs
Electron是基于两个主要的上游项目:Chromium和Node.js 这些项目都有自己的依赖。 我们尽最大努力完全按照原样使用这些依赖项,但有时如果不修补这些上游依赖项以适应我们的用例,我们就无法实现我们的目标。
因此,我们维护了一系列的补丁,作为源码目录结构的一部分。 通过拉取请求将这些补丁之一添加到 Electron 源码目录的过程可以在 补丁 中找到。