跳转到主内容

对 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 上提问题

对于任何问题,您可以通过三种方式参与贡献:

  1. 创建供讨论的问题
    • 如果您认为您在 Electron 中发现了一个新的 Bug 您应该通过在 electron/electron issue tracker 中创建一个新的问题来报告它。
  2. 对问题进行细分
    • 为此,您可以提供辅助信息(可供复现 Bug 的测试用例),也可以提供解决问题的建议。
  3. 解决问题
    • 这可以通过演示证明问题不是 Bug 或已修复来完成;更多时候,您需要创建具体且可审查的代码提交到 electron/electron 中。

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.