跳到主要內容

環境變數

無需更改程式碼即可控制應用程式配置和行為。

某些 Electron 行為由環境變數控制,因為它們的初始化時間早於命令列標誌和應用程式的程式碼。

POSIX shell 範例

$ export ELECTRON_ENABLE_LOGGING=true
$ electron

Windows 命令列範例

> set ELECTRON_ENABLE_LOGGING=true
> electron

生產環境變數

以下環境變數主要用於已封裝 Electron 應用程式的執行階段。

NODE_OPTIONS

Electron 支援 Node.js 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 保險絲 被禁用,NODE_OPTIONS 將被忽略。

NODE_EXTRA_CA_CERTS

詳情請參閱 Node.js 命令列文件

export NODE_EXTRA_CA_CERTS=/path/to/cert.pem 

如果 nodeOptions 保險絲 被禁用,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 的 fork 子進程和 spawn 子進程中受支援。

ELECTRON_RUN_AS_NODE

將進程作為正常的 Node.js 進程啟動。

在此模式下,您可以將 命令列選項 傳遞給 Node.js,就像執行正常的 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-trash
  • trash-cli
  • kioclient5
  • kioclient

ELECTRON_OZONE_PLATFORM_HINT Linux

選擇 Linux 上使用的首選平台後端。預設為 x11auto 會在可能的情況下選擇 Wayland,否則選擇 X11。

選項

  • auto
  • wayland
  • x11

開發環境變數

以下環境變數主要用於開發和偵錯目的。

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 設定

Electron 在執行階段於您的環境中設定一些變數。

ORIGINAL_XDG_CURRENT_DESKTOP

此變數設定為您的應用程式最初啟動時的 XDG_CURRENT_DESKTOP 值。Electron 有時會修改 XDG_CURRENT_DESKTOP 的值以影響 Chromium 內部的其他邏輯,因此如果您想要存取原始值,則應查閱此環境變數。