Electron 支持的 Chrome 命令行开关

这页列出了Chrome浏览器和Electron支持的命令行开关. 你也可以在app模块的ready事件发出之前使用app.commandLine.appendSwitch 来添加它们到你应用的main脚本里面:

const app = require('electron').app;
app.commandLine.appendSwitch('remote-debugging-port', '8315');
app.commandLine.appendSwitch('host-rules', 'MAP * 127.0.0.1');

app.on('ready', function() {
  // Your code here
});

--client-certificate=path

设置客户端的证书文件 path .

--ignore-connections-limit=domains

忽略用 , 分隔的 domains 列表的连接限制.

--disable-http-cache

禁止请求 HTTP 时使用磁盘缓存.

--remote-debugging-port=port

在指定的 端口 通过 HTTP 开启远程调试.

--js-flags=flags

指定引擎过渡到 JS 引擎.

在启动Electron时,如果你想在主进程中激活 flags ,它将被转换.

$ electron --js-flags="--harmony_proxies --harmony_collections" your-app

--proxy-server=address:port

使用一个特定的代理服务器,它将比系统设置的优先级更高.这个开关只有在使用 HTTP 协议时有效,它包含 HTTPS 和 WebSocket 请求. 值得注意的是,不是所有的代理服务器都支持 HTTPS 和 WebSocket 请求.

--proxy-bypass-list=hosts

让 Electron 使用(原文:bypass) 提供的以 semi-colon 分隔的hosts列表的代理服务器.这个开关只有在使用 --proxy-server 时有效.

例如:

app.commandLine.appendSwitch('proxy-bypass-list', '<local>;*.google.com;*foo.com;1.2.3.4:5678')

将会为所有的hosts使用代理服务器,除了本地地址 (localhost,127.0.0.1 etc.), google.com 子域, 以 foo.com 结尾的hosts,和所有类似 1.2.3.4:5678的.

--proxy-pac-url=url

在指定的 url 上使用 PAC 脚本.

--no-proxy-server

不使用代理服务并且总是使用直接连接.忽略所有的合理代理标志.

--host-rules=rules

一个逗号分隔的 rule 列表来控制主机名如何映射.

例如:

  • MAP * 127.0.0.1 强制所有主机名映射到 127.0.0.1
  • MAP *.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 连接和 主机解析 以直接连接的方式, 和 CONNECT 以代理连接, 还有 终端 host 使用 SOCKS 代理连接).

--host-resolver-rules=rules

类似 --host-rules ,但是 rules 只适合主机解析.

--ignore-certificate-errors

忽略与证书相关的错误.

--ppapi-flash-path=path

设置Pepper Flash插件的路径 path .

--ppapi-flash-version=version

设置Pepper Flash插件版本号.

--log-net-log=path

使网络日志事件能够被读写到 path.

--ssl-version-fallback-min=version

设置最简化的 SSL/TLS 版本号 ("tls1", "tls1.1" or "tls1.2"),TLS 可接受回退.

--cipher-suite-blacklist=cipher_suites

指定逗号分隔的 SSL 密码套件 列表实效.

--disable-renderer-backgrounding

防止 Chromium 降低隐藏的渲染进程优先级.

这个标志对所有渲染进程全局有效,如果你只想在一个窗口中禁止使用,你可以采用 hack 方法playing silent audio.

--enable-logging

打印 Chromium 信息输出到控制台.

如果在用户应用加载完成之前解析app.commandLine.appendSwitch ,这个开关将实效,但是你可以设置 ELECTRON_ENABLE_LOGGING 环境变量来达到相同的效果.

--v=log_level

设置默认最大活跃 V-logging 标准; 默认为 0.通常 V-logging 标准值为肯定值.

这个开关只有在 --enable-logging 开启时有效.

--vmodule=pattern

赋予每个模块最大的 V-logging levels 来覆盖 --v 给的值.E.g. my_module=2,foo*=3 会改变所有源文件 my_module.* and foo*.* 的代码中的 logging level .

任何包含向前的(forward slash)或者向后的(backward slash)模式将被测试用于阻止整个路径名,并且不仅是E.g模块.*/foo/bar/*=2 将会改变所有在 foo/bar 下的源文件代码中的 logging level .

这个开关只有在 --enable-logging 开启时有效.

下一章:Electron 环境变量

一些 Electron 的行为受到环境变量的控制,因为他们的初始化比命令行和应用代码更早.POSIX shells 的例子:$ export ELECTRON_ENABLE_LOGGING=true$ elect ...