跳转到主内容

对 Electron 进行开发

这些指南是为希望修改 Electron 自身的人准备的。 有关使用 Electron 来开发应用程序的指南,请参见/docs/README.md

目录

入门指南

为了对 Electron 做出贡献,您需要做的第一件事是获取代码。

Electron 的 build-tools 通过不同的配置和构建目标,自动化生成了编译 Electron 所需的大部分环境设置。

如果你想手动构建 Electron,请参阅 构建说明

检出并编译好源码后,您可能需要浏览一下源码树,以便更好地了解每个目录的职责。 源代码目录结构 很好地概述了每个目录的职责。

在 Electron 上提问题

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

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

更多详细信息,请参阅 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 源码目录的过程可以在 补丁 中找到。

调试

Electron 中有许多不同的方法来调试问题和错误,其中许多方式是根据平台来选择的。

有关调试 Electron 本身(而不是调试_使用 Electron 构建的应用程序_ )相关信息的概述,请参阅 调试