环境变量
在不更改代码的情况下控制应用程序配置和行为。
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
GOOGLE_API_KEY
Electron中的地理定位支持需要使用Google云平台的地理定位网络服务。 为了启用此功能,需获取一个 Google API 密钥 并将以下代码放入你的主进程文件, 在打开任何 浏览器窗口之前将生成地理位置请求:
process.env.GOOGLE_API_KEY = 'YOUR_KEY_HERE'
默认情况下, 可能不允许新生成的 Google API key进行地理编码请求。 要为你的项目启用地理定位网络服务,请通过 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,因此这些标志被禁用。所以不会像设计的那样工作。
ELECTRON_NO_ATTACH_CONSOLE
Windows
不附加到当前控制台会话。
ELECTRON_FORCE_WINDOW_MENU_BAR
Linux
不使用 Linux 的全局菜单栏。
ELECTRON_TRASH
Linux
在 Linux 上设置垃圾回收实现。 默认值为 gio
.
选项:
gvfs-trash
trash-cli
kioclient5
kioclient
开发环境相关变量
以下环境变量主要用于开发和调试目的。
ELECTRON_ENABLE_LOGGING
将 Chrome 的内部日志打印到控制台。
设置此环境变量与命令行传递 --enable-logging
相同。 更多信息, 在 command-line switches 中搜索 --enable-logging
即可找到
ELECTRON_LOG_FILE
设置Chromium内部日志的文件目标。
设置此环境变量与命令行传递 --log-file
相同。 更多信息, 在 command-line switches 中搜索 --log-file
即可找到
ELECTRON_DEBUG_DRAG_REGIONS
在 macOS 的 BrowserView上添加可拖动区域的颜色 - 可拖动区域将着绿色, 不可拖动区域将着红色以帮助调试。
ELECTRON_DEBUG_NOTIFICATIONS
在 macOS 上添加额外日志到 通知 生命周期以帮助调试。 当创建或激活新通知时,将显示额外日志。 通常情况下,它们将自动显示:显示通知、被拒绝通知、按钮被点击通知或回复了通知。
示例输出:
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 文件读取时,记录读取 offset 偏移和文件路径到系统 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 设置
在Electron运行时设置一些环境变量
ORIGINAL_XDG_CURRENT_DESKTOP
此变量设置为你的应用程序最初启动的 XDG_CURRENT_DESKTOP
值。 Electron 有时修改 XDG_CURRENT_DESKTOP
的值以影响Chromium 中的其他逻辑,所以如果您想访问 原始的 值 您应该重新查看此环境变量。