对 Electron 进行开发
这些指南是为希望修改 Electron 自身的人准备的。 For guides on Electron app development, see /docs/README.md.
目录
入门指南
为了对 Electron 做出贡献,您需要做的第一件事是获取代码。
Electron 的 build-tools
通过不同的配置和构建目标,自动化生成了编译 Electron 所需的大部分环境设置。
If you would prefer to build Electron manually, see the build instructions.
检出并编译好源码后,您可能需要浏览一下源码树,以便更好地了解每个目录的职责。 The source code directory structure gives a good overview of the purpose of each directory.
在 Electron 上提问题
对于任何问题,您可以通过三种方式参与贡献:
- 创建供讨论的问题
- 如果您认为您在 Electron 中发现了一个新的 Bug 您应该通过在
electron/electron
issue tracker 中创建一个新的问题来报告它。
- 如果您认为您在 Electron 中发现了一个新的 Bug 您应该通过在
- 对问题进行细分
- 为此,您可以提供辅助信息(可供复现 Bug 的测试用例),也可以提供解决问题的建议。
- 解决问题
- 这可以通过演示证明问题不是 Bug 或已修复来完成;更多时候,您需要创建具体且可审查的代码提交到
electron/electron
中。
- 这可以通过演示证明问题不是 Bug 或已修复来完成;更多时候,您需要创建具体且可审查的代码提交到
See issues for more information.
向 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.
See pull requests for more information.
If you want to add a new API module to Electron, you'll want to look in creating 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 这些项目都有自己的依赖。 我们尽最大努力完全按照原样使用这些依赖项,但有时如果不修补这些上游依赖项以适应我们的用例,我们就无法实现我们的目标。
因此,我们维护了一系列的补丁,作为源码目录结构的一部分。 The process for adding or altering one of these patches to Electron's source tree via a pull request can be found in patches.
调试
Electron 中有许多不同的方法来调试问题和错误,其中许多方式是根据平台来选择的。
For an overview of information related to debugging Electron itself (and not an app built with Electron), see debugging.