環境變數
控制應用程式的設定和行為,而無需變更程式碼。
某些 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
保險絲,則會忽略 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 子程序和產生的子程序中支援。
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 上使用的慣用平台後端。預設值為 x11
。如果可以,auto
會選取 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 內部的其他邏輯,因此如果您想存取「原始」值,則應改為查閱此環境變數。