环境变量
在不更改代码的情况下控制应用程序配置和行为。
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
If the nodeOptions fuse is disabled, NODE_OPTIONS will be ignored.
NODE_EXTRA_CA_CERTS
See Node.js cli documentation for details.
export NODE_EXTRA_CA_CERTS=/path/to/cert.pem
If the nodeOptions fuse is disabled, NODE_EXTRA_CA_CERTS will be ignored.
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,因此这些标志被禁用。所以不会像设计的那样工作。
如果runAsNode保險絲關了,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
将 Chrome 的内部日志打印到控制台。
设置此环境变量与命令行传递 --enable-logging 相同。 For more info, see --enable-logging in command-line switches.
ELECTRON_LOG_FILE
设置Chromium内部日志的文件目标。
设置此环境变量与命令行传递 --log-file 相同。 For more info, see --log-file in command-line switches.
ELECTRON_DEBUG_NOTIFICATIONS
Adds extra logs to Notification lifecycles on macOS to aid in debugging. 当创建或激活新通知时,将显示额外日志。 通常情况下,它们将自动显示:显示通知、被拒绝通知、按钮被点击通知或回复通知。
示例输出:
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_SKIP_BINARY_DOWNLOAD
If you want to install your project's dependencies but don't need to use Electron functionality, you can set the ELECTRON_SKIP_BINARY_DOWNLOAD environment variable to prevent the binary from being downloaded. For instance, this feature can be useful in continuous integration environments when running unit tests that mock out the electron module.
ELECTRON_SKIP_BINARY_DOWNLOAD=1 npm install