本节我们来学习 Electron
中的环境变量,环境变量主要是用来控制应用程序配置和行为而不用更改代码。某些 Electron
行为是由它控制的,因此它们比命令行标志和应用程序的代码更早初始化。
我们可以将环境变量分为两种:生产环境相关变量和开发环境相关变量。
生产环境相关变量
生产环境相关变量常用于在打包后的 Electron
应用程序运行时使用。有下面几种:
NODE_OPTIONS
:Electron
包括对Node
的NODE_OPTIONS
的子集支持,除与Chromium
使用BoringSSL
相抵触的情况外,大多数都得到了支持。GOOGLE_API_KEY
:Electron
包含一个硬编码API
密码,用于向谷歌的地理编码web
服务发送请求。ELECTRON_NO_ASAR
:禁用ASAR
支持,该变量只在set
的派生子进程和衍生子进程中受支持。ELECTRON_RUN_AS_NODE
:作为正常的Node.js
进程启动。在这种模式下,我们可以像运行普通的Node.js
可执行文件时一样将cli
选项传递给Node.js
,但以下标志除外:
--openssl-config
--use-bundled-ca
--use-openssl-ca
--force-fips
--enable-fips
ELECTRON_NO_ATTACH_CONSOLE
:不要附加到当前控制台会话。ELECTRON_FORCE_WINDOW_MENU_BAR
:不要在Linux
上使用全局菜单栏。ELECTRON_TRASH
:在Linux
上设置垃圾回收实现,默认为gio
。
开发环境相关变量
开发环境相关变量常用于开发和调试目的。有下面几种:
ELECTRON_ENABLE_LOGGING
:将Chrome
的内部日志记录打印到控制台。ELECTRON_LOG_ASAR_READS
:当Electron
从ASAR
文件读取时,我们需要读取偏移量和文件路径记录到系统timdir
。将结果文件提供给ASAR
模块以优化文件排序。ELECTRON_ENABLE_STACK_DUMPING
:Electron
崩溃时,将堆栈跟踪打印到控制台。如果crashReporter
已经启动了, 则此环境变量将不起作用。ELECTRON_DEFAULT_ERROR_MODE
:当ELectron
崩溃时显示Windows
的崩溃对话框。如果crashReporter
已经启动了, 则此环境变量将不起作用。ELECTRON_OVERRIDE_DIST_PATH
:当electron
包运行时,该变量告知electron
命令使用指定Electron
的构建代替由npm install
下载的构建。