支持的命令行开关
Electron 支持的命令行开关。
您可以使用 app.commandLine.appendSwitch 在应用程序的主脚本中,在 app 模块的 ready 事件发出之前附加它们
const { app } = require('electron')
app.commandLine.appendSwitch('remote-debugging-port', '8315')
app.commandLine.appendSwitch('host-rules', 'MAP * 127.0.0.1')
app.whenReady().then(() => {
// Your code here
})
Electron CLI 标志
--auth-server-whitelist=url
一个逗号分隔的服务器列表,这些服务器启用了集成身份验证。
例如
--auth-server-whitelist='*example.com, *foobar.com, *baz'
然后任何以 example.com
、foobar.com
、baz
结尾的 url
都将被考虑用于集成身份验证。如果没有 *
前缀,则 URL 必须完全匹配。
--auth-negotiate-delegate-whitelist=url
一个逗号分隔的服务器列表,这些服务器需要委托用户凭据。如果没有 *
前缀,则 URL 必须完全匹配。
--disable-ntlm-v2
禁用 POSIX 平台的 NTLM v2,在其他地方无效。
--disable-http-cache
禁用 HTTP 请求的磁盘缓存。
--disable-http2
禁用 HTTP/2 和 SPDY/3.1 协议。
--disable-renderer-backgrounding
阻止 Chromium 降低不可见页面的渲染器进程的优先级。
此标志对所有渲染器进程都是全局的,如果您只想禁用一个窗口中的节流,您可以采用 播放无声音频 的技巧。
--disk-cache-size=size
强制磁盘缓存使用的最大磁盘空间,以字节为单位。
--enable-logging[=file]
将 Chromium 的日志打印到 stderr(或日志文件)。
ELECTRON_ENABLE_LOGGING
环境变量与传递 --enable-logging
的效果相同。
传递 --enable-logging
将导致日志打印到 stderr。传递 --enable-logging=file
将导致日志保存到由 --log-file=...
指定的文件中,如果未指定 --log-file
,则保存到用户数据目录中的 electron_debug.log
。
注意:在 Windows 上,无法将子进程的日志发送到 stderr。记录到文件是在 Windows 上收集日志的最可靠方法。
另请参阅 --log-file
、--log-level
、--v
和 --vmodule
。
--force-fieldtrials=trials
要强制启用或禁用的 Field Trials。
例如:WebRTC-Audio-Red-For-Opus/Enabled/
--host-rules=rules
一个逗号分隔的 rules
列表,用于控制主机名的映射方式。
例如
MAP * 127.0.0.1
强制将所有主机名映射到 127.0.0.1MAP *.google.com proxy
强制将所有 google.com 子域解析为“proxy”。MAP test.com [::1]:77
强制 “test.com” 解析为 IPv6 回环地址。还将强制生成的套接字地址的端口为 77。MAP * baz, EXCLUDE www.google.com
将所有内容重新映射为“baz”,除了 “www.google.com”。
这些映射应用于网络请求中的端点主机(直接连接中的 TCP 连接和主机解析器,HTTP 代理连接中的 CONNECT
以及 SOCKS
代理连接中的端点主机)。
--host-resolver-rules=rules
类似于 --host-rules
,但这些 rules
仅适用于主机解析器。
--ignore-certificate-errors
忽略与证书相关的错误。
--ignore-connections-limit=domains
忽略以 ,
分隔的 domains
列表的连接限制。
--js-flags=flags
指定传递给 V8 引擎 的标志。为了在主进程中启用 flags
,必须在启动时传递此开关。
$ electron --js-flags="--harmony_proxies --harmony_collections" your-app
在终端中运行 node --v8-options
或 electron --js-flags="--help"
以获取可用标志的列表。这些标志可用于启用早期阶段的 JavaScript 功能,或记录和操作垃圾回收等。
例如,要跟踪 V8 优化和反优化
$ electron --js-flags="--trace-opt --trace-deopt" your-app
--lang
设置自定义区域设置。
--log-file=path
如果指定了 --enable-logging
,则日志将写入给定的路径。父目录必须存在。
设置 ELECTRON_LOG_FILE
环境变量等同于传递此标志。如果两者都存在,则命令行开关优先。
--log-net-log=path
启用要保存的网络日志事件,并将它们写入 path
。
--log-level=N
与 --enable-logging
一起使用时,设置日志记录的详细程度。N
应该是 Chrome 的 LogSeverities 之一。
请注意,Chromium 中的两个互补的日志记录机制 -- LOG()
和 VLOG()
-- 由不同的开关控制。--log-level
控制 LOG()
消息,而 --v
和 --vmodule
控制 VLOG()
消息。因此,您可能需要根据所需的粒度和您尝试观看的代码发出的日志调用,结合使用这三个开关。
有关 LOG()
和 VLOG()
如何交互的更多信息,请参阅 Chromium 日志记录源。粗略地说,可以将 VLOG()
视为 LOG(INFO)
内部的子级别/每个模块的级别,以控制 LOG(INFO)
数据的火瀑布。
另请参阅 --enable-logging
、--log-level
、--v
和 --vmodule
。
--no-proxy-server
不使用代理服务器,始终进行直接连接。覆盖传递的任何其他代理服务器标志。
--no-sandbox
禁用 Chromium 沙箱。强制渲染器进程和 Chromium 辅助进程在未沙箱化的状态下运行。应仅用于测试。
--proxy-bypass-list=hosts
指示 Electron 为给定的以分号分隔的主机列表绕过代理服务器。此标志仅在与 --proxy-server
一起使用时才有效。
例如
const { app } = require('electron')
app.commandLine.appendSwitch('proxy-bypass-list', '<local>;*.google.com;*foo.com;1.2.3.4:5678')
将对除本地地址(localhost
、127.0.0.1
等)、google.com
子域名、包含后缀 foo.com
的主机以及 1.2.3.4:5678
上的任何内容之外的所有主机使用代理服务器。
--proxy-pac-url=url
使用指定 url
的 PAC 脚本。
--proxy-server=address:port
使用指定的代理服务器,这将覆盖系统设置。此开关仅影响 HTTP 协议的请求,包括 HTTPS 和 WebSocket 请求。值得注意的是,并非所有代理服务器都支持 HTTPS 和 WebSocket 请求。代理 URL 不支持用户名和密码验证,根据 Chromium 的问题。
--remote-debugging-port=port
在指定的 port
上启用通过 HTTP 的远程调试。
--v=log_level
设置默认的最大活动 V 日志级别;0 为默认值。通常,正值用于 V 日志级别。
此开关仅在同时传递 --enable-logging
时才起作用。
另请参阅 --enable-logging
、--log-level
和 --vmodule
。
--vmodule=pattern
设置每个模块的最大 V 日志级别,以覆盖 --v
给出的值。例如,my_module=2,foo*=3
将更改源文件 my_module.*
和 foo*.*
中所有代码的日志级别。
任何包含正斜杠或反斜杠的模式都将针对整个路径名进行测试,而不仅仅是模块。例如,*/foo/bar/*=2
将更改 foo/bar
目录下源文件中所有代码的日志级别。
此开关仅在同时传递 --enable-logging
时才起作用。
另请参阅 --enable-logging
、--log-level
和 --v
。
--force_high_performance_gpu
当有多个 GPU 可用时,强制使用独立 GPU。
--force_low_power_gpu
当有多个 GPU 可用时,强制使用集成 GPU。
--xdg-portal-required-version=version
将 XDG Portal 实现的最低要求版本设置为 version
,以便在 Linux 上为文件对话框使用 Portal 后端。当所需版本不可用时,文件对话框将回退为使用 gtk 或 kde,具体取决于桌面环境。当前默认设置为 3
。
Node.js 标志
Electron 支持 Node.js 支持的某些 CLI 标志。
注意:当 Electron 未在 ELECTRON_RUN_AS_NODE
中运行时,将不受支持的命令行开关传递给 Electron 将不起作用。
--inspect-brk\[=\[host:]port]
在主机上激活 inspector:端口并在用户脚本的开头中断。默认主机:端口是 127.0.0.1:9229。
别名为 --debug-brk=[host:]port
。
--inspect-brk-node[=[host:]port]
在 host:port
上激活 inspector,并在 inspector 可用时执行的第一个内部 JavaScript 脚本的开头中断。默认 host:port
是 127.0.0.1:9229
。
--inspect-port=\[host:]port
设置激活 inspector 时要使用的 host:port
。当通过发送 SIGUSR1 信号激活 inspector 时很有用。默认主机是 127.0.0.1
。
别名为 --debug-port=[host:]port
。
--inspect\[=\[host:]port]
在 host:port
上激活 inspector。默认值为 127.0.0.1:9229
。
V8 inspector 集成允许 Chrome DevTools 和 IDE 等工具调试和分析 Electron 实例。这些工具通过 TCP 端口连接到 Electron 实例,并使用 Chrome DevTools 协议 进行通信。
有关更多详细信息,请参阅调试主进程指南。
别名为 --debug[=[host:]port
。
--inspect-publish-uid=stderr,http
指定 inspector WebSocket URL 公开的方式。
默认情况下,inspector WebSocket URL 在 stderr 中可用,并且在 http://host:port/json/list
上的 /json/list 端点下可用。
--no-deprecation
静默弃用警告。
--throw-deprecation
为弃用引发错误。
--trace-deprecation
打印弃用的堆栈跟踪。
--trace-warnings
打印进程警告(包括弃用)的堆栈跟踪。
--dns-result-order=order
在 Node.js dns.lookup()
和 dnsPromises.lookup()
函数中设置 verbatim
参数的默认值。该值可以是
ipv4first
:设置默认verbatim
为false
。verbatim
:设置默认verbatim
为true
。
默认值为 verbatim
,dns.setDefaultResultOrder()
的优先级高于 --dns-result-order
。