环境变量
无需更改代码即可控制应用程序的配置和行为。
某些 Electron 行为由环境变量控制,因为它们在命令行标志和应用程序代码初始化之前就被初始化了。
POSIX shell 示例
$ export ELECTRON_ENABLE_LOGGING=true
$ electron
Windows 控制台示例
> set ELECTRON_ENABLE_LOGGING=true
> electron
生产变量
以下环境变量主要用于打包的 Electron 应用程序中的运行时使用。
NODE_OPTIONS
Electron 支持 Node 的一部分 NODE_OPTIONS。 大部分都支持,但与 Chromium 使用 BoringSSL 冲突的除外。
示例
export NODE_OPTIONS="--no-warnings --max-old-space-size=2048"
不支持的选项是
--use-bundled-ca
--force-fips
--enable-fips
--openssl-config
--use-openssl-ca
NODE_OPTIONS 在打包的应用程序中明确禁止,但以下情况除外
--max-http-header-size
--http-parser
如果禁用了 nodeOptions fuse,则会忽略 NODE_OPTIONS。
NODE_EXTRA_CA_CERTS
有关详细信息,请参阅 Node.js cli 文档。
export NODE_EXTRA_CA_CERTS=/path/to/cert.pem
如果禁用了 nodeOptions fuse,则会忽略 NODE_EXTRA_CA_CERTS。
GOOGLE_API_KEY
Electron 中的地理位置支持需要使用 Google Cloud Platform 的地理位置网络服务。 要启用此功能,请获取 Google API 密钥,并在打开任何将发出地理位置请求的浏览器窗口之前,将其放置在您的主进程文件中
process.env.GOOGLE_API_KEY = 'YOUR_KEY_HERE'
默认情况下,新生成的 Google API 密钥可能不允许发出地理位置请求。 要为您的项目启用地理位置网络服务,请通过 API 库 启用它。
注意:您需要将 结算帐户 添加到与 API 密钥关联的项目,才能使地理位置网络服务正常工作。
ELECTRON_NO_ASAR
禁用 ASAR 支持。 此变量仅在设置了 ELECTRON_RUN_AS_NODE 的分叉子进程和生成子进程中受支持。
ELECTRON_RUN_AS_NODE
将进程作为普通的 Node.js 进程启动。
在这种模式下,您可以像运行普通的 Node.js 可执行文件一样将 cli 选项 传递给 Node.js,但以下标志除外
- "--openssl-config"
- "--use-bundled-ca"
- "--use-openssl-ca",
- "--force-fips"
- "--enable-fips"
由于 Electron 在构建 Node.js 的 crypto 模块时使用 BoringSSL 而不是 OpenSSL,因此这些标志被禁用,因此无法按预期工作。
如果禁用了 runAsNode fuse,则会忽略 ELECTRON_RUN_AS_NODE。
ELECTRON_NO_ATTACH_CONSOLE Windows
不要附加到当前控制台会话。
ELECTRON_FORCE_WINDOW_MENU_BAR Linux
在 Linux 上不要使用全局菜单栏。
ELECTRON_TRASH Linux
在 Linux 上设置垃圾回收实现。 默认值为 gio。
选项
gvfs-trashtrash-clikioclient5kioclient
开发变量
以下环境变量主要用于开发和调试目的。
ELECTRON_ENABLE_LOGGING
将 Chromium 的内部日志打印到控制台。
设置此变量与在命令行中传递 --enable-logging 相同。 有关更多信息,请参阅 命令行开关 中的 --enable-logging。
ELECTRON_LOG_FILE
设置 Chromium 内部日志的文件目标位置。
设置此变量与在命令行中传递 --log-file 相同。 有关更多信息,请参阅 命令行开关 中的 --log-file。
ELECTRON_DEBUG_NOTIFICATIONS
在 macOS 上向 Notification 生命周期添加额外的日志,以帮助调试。 当创建或激活新通知时,将显示额外的日志。 还会显示在采取常见操作时:显示通知、关闭通知、单击其按钮或回复通知。
示例输出
Notification created (com.github.Electron:notification:EAF7B87C-A113-43D7-8E76-F88EC9D73D44)
Notification displayed (com.github.Electron:notification:EAF7B87C-A113-43D7-8E76-F88EC9D73D44)
Notification activated (com.github.Electron:notification:EAF7B87C-A113-43D7-8E76-F88EC9D73D44)
Notification replied to (com.github.Electron:notification:EAF7B87C-A113-43D7-8E76-F88EC9D73D44)
ELECTRON_LOG_ASAR_READS
当 Electron 从 ASAR 文件读取时,将读取偏移量和文件路径记录到系统 tmpdir。 可以将生成的文件提供给 ASAR 模块以优化文件顺序。
ELECTRON_ENABLE_STACK_DUMPING
在 Electron 崩溃时将堆栈跟踪打印到控制台。
如果启动了 crashReporter,则此环境变量将不起作用。
ELECTRON_DEFAULT_ERROR_MODE Windows
在 Electron 崩溃时显示 Windows 的崩溃对话框。
如果启动了 crashReporter,则此环境变量将不起作用。
ELECTRON_OVERRIDE_DIST_PATH
在使用 electron 包时,此变量告诉 electron 命令使用指定的 Electron 构建,而不是通过 npm install 下载的构建。 用法
export ELECTRON_OVERRIDE_DIST_PATH=/Users/username/projects/electron/out/Testing
ELECTRON_SKIP_BINARY_DOWNLOAD
如果您想安装项目的依赖项,但不需要使用 Electron 功能,可以设置 ELECTRON_SKIP_BINARY_DOWNLOAD 环境变量以防止下载二进制文件。 例如,此功能在连续集成环境中运行模拟 electron 模块的单元测试时非常有用。
ELECTRON_SKIP_BINARY_DOWNLOAD=1 npm install