c83f836faf
* docs: add references to app.whenReady() in isReady * refactor: prefer app.whenReady() In the docs, specs, and lib, replace instances of `app.once('ready')` (seen occasionally) and `app.on('ready')` (extremely common) with `app.whenReady()`. It's better to encourage users to use whenReady(): 1. it handles the edge case of registering for 'ready' after it's fired 2. it avoids the minor wart of leaving an active listener alive for an event that wll never fire again
204 lines
6.5 KiB
Markdown
204 lines
6.5 KiB
Markdown
# Supported Command Line Switches
|
|
|
|
> Command line switches supported by Electron.
|
|
|
|
You can use [app.commandLine.appendSwitch][append-switch] to append them in
|
|
your app's main script before the [ready][ready] event of the [app][app] module
|
|
is emitted:
|
|
|
|
```javascript
|
|
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
|
|
})
|
|
```
|
|
|
|
## --ignore-connections-limit=`domains`
|
|
|
|
Ignore the connections limit for `domains` list separated by `,`.
|
|
|
|
## --disable-http-cache
|
|
|
|
Disables the disk cache for HTTP requests.
|
|
|
|
## --disable-http2
|
|
|
|
Disable HTTP/2 and SPDY/3.1 protocols.
|
|
|
|
## --lang
|
|
|
|
Set a custom locale.
|
|
|
|
## --inspect=`port` and --inspect-brk=`port`
|
|
|
|
Debug-related flags, see the [Debugging the Main Process][debugging-main-process] guide for details.
|
|
|
|
## --remote-debugging-port=`port`
|
|
|
|
Enables remote debugging over HTTP on the specified `port`.
|
|
|
|
## --disk-cache-size=`size`
|
|
|
|
Forces the maximum disk space to be used by the disk cache, in bytes.
|
|
|
|
## --js-flags=`flags`
|
|
|
|
Specifies the flags passed to the Node.js engine. It has to be passed when starting
|
|
Electron if you want to enable the `flags` in the main process.
|
|
|
|
```sh
|
|
$ electron --js-flags="--harmony_proxies --harmony_collections" your-app
|
|
```
|
|
|
|
See the [Node.js documentation][node-cli] or run `node --help` in your terminal for a list of available flags. Additionally, run `node --v8-options` to see a list of flags that specifically refer to Node.js's V8 JavaScript engine.
|
|
|
|
## --proxy-server=`address:port`
|
|
|
|
Use a specified proxy server, which overrides the system setting. This switch
|
|
only affects requests with HTTP protocol, including HTTPS and WebSocket
|
|
requests. It is also noteworthy that not all proxy servers support HTTPS and
|
|
WebSocket requests. The proxy URL does not support username and password
|
|
authentication [per Chromium issue](https://bugs.chromium.org/p/chromium/issues/detail?id=615947).
|
|
|
|
## --proxy-bypass-list=`hosts`
|
|
|
|
Instructs Electron to bypass the proxy server for the given semi-colon-separated
|
|
list of hosts. This flag has an effect only if used in tandem with
|
|
`--proxy-server`.
|
|
|
|
For example:
|
|
|
|
```javascript
|
|
const { app } = require('electron')
|
|
app.commandLine.appendSwitch('proxy-bypass-list', '<local>;*.google.com;*foo.com;1.2.3.4:5678')
|
|
```
|
|
|
|
Will use the proxy server for all hosts except for local addresses (`localhost`,
|
|
`127.0.0.1` etc.), `google.com` subdomains, hosts that contain the suffix
|
|
`foo.com` and anything at `1.2.3.4:5678`.
|
|
|
|
## --proxy-pac-url=`url`
|
|
|
|
Uses the PAC script at the specified `url`.
|
|
|
|
## --no-proxy-server
|
|
|
|
Don't use a proxy server and always make direct connections. Overrides any other
|
|
proxy server flags that are passed.
|
|
|
|
## --host-rules=`rules`
|
|
|
|
A comma-separated list of `rules` that control how hostnames are mapped.
|
|
|
|
For example:
|
|
|
|
* `MAP * 127.0.0.1` Forces all hostnames to be mapped to 127.0.0.1
|
|
* `MAP *.google.com proxy` Forces all google.com subdomains to be resolved to
|
|
"proxy".
|
|
* `MAP test.com [::1]:77` Forces "test.com" to resolve to IPv6 loopback. Will
|
|
also force the port of the resulting socket address to be 77.
|
|
* `MAP * baz, EXCLUDE www.google.com` Remaps everything to "baz", except for
|
|
"www.google.com".
|
|
|
|
These mappings apply to the endpoint host in a net request (the TCP connect
|
|
and host resolver in a direct connection, and the `CONNECT` in an HTTP proxy
|
|
connection, and the endpoint host in a `SOCKS` proxy connection).
|
|
|
|
## --host-resolver-rules=`rules`
|
|
|
|
Like `--host-rules` but these `rules` only apply to the host resolver.
|
|
|
|
## --auth-server-whitelist=`url`
|
|
|
|
A comma-separated list of servers for which integrated authentication is enabled.
|
|
|
|
For example:
|
|
|
|
```sh
|
|
--auth-server-whitelist='*example.com, *foobar.com, *baz'
|
|
```
|
|
|
|
then any `url` ending with `example.com`, `foobar.com`, `baz` will be considered
|
|
for integrated authentication. Without `*` prefix the URL has to match exactly.
|
|
|
|
## --auth-negotiate-delegate-whitelist=`url`
|
|
|
|
A comma-separated list of servers for which delegation of user credentials is required.
|
|
Without `*` prefix the URL has to match exactly.
|
|
|
|
## --ignore-certificate-errors
|
|
|
|
Ignores certificate related errors.
|
|
|
|
## --ppapi-flash-path=`path`
|
|
|
|
Sets the `path` of the pepper flash plugin.
|
|
|
|
## --ppapi-flash-version=`version`
|
|
|
|
Sets the `version` of the pepper flash plugin.
|
|
|
|
## --log-net-log=`path`
|
|
|
|
Enables net log events to be saved and writes them to `path`.
|
|
|
|
## --disable-renderer-backgrounding
|
|
|
|
Prevents Chromium from lowering the priority of invisible pages' renderer
|
|
processes.
|
|
|
|
This flag is global to all renderer processes, if you only want to disable
|
|
throttling in one window, you can take the hack of
|
|
[playing silent audio][play-silent-audio].
|
|
|
|
## --enable-logging
|
|
|
|
Prints Chromium's logging into console.
|
|
|
|
This switch can not be used in `app.commandLine.appendSwitch` since it is parsed
|
|
earlier than user's app is loaded, but you can set the `ELECTRON_ENABLE_LOGGING`
|
|
environment variable to achieve the same effect.
|
|
|
|
## --v=`log_level`
|
|
|
|
Gives the default maximal active V-logging level; 0 is the default. Normally
|
|
positive values are used for V-logging levels.
|
|
|
|
This switch only works when `--enable-logging` is also passed.
|
|
|
|
## --vmodule=`pattern`
|
|
|
|
Gives the per-module maximal V-logging levels to override the value given by
|
|
`--v`. E.g. `my_module=2,foo*=3` would change the logging level for all code in
|
|
source files `my_module.*` and `foo*.*`.
|
|
|
|
Any pattern containing a forward or backward slash will be tested against the
|
|
whole pathname and not only the module. E.g. `*/foo/bar/*=2` would change the
|
|
logging level for all code in the source files under a `foo/bar` directory.
|
|
|
|
This switch only works when `--enable-logging` is also passed.
|
|
|
|
## --enable-api-filtering-logging
|
|
|
|
Enables caller stack logging for the following APIs (filtering events):
|
|
- `desktopCapturer.getSources()` / `desktop-capturer-get-sources`
|
|
- `remote.require()` / `remote-require`
|
|
- `remote.getGlobal()` / `remote-get-builtin`
|
|
- `remote.getBuiltin()` / `remote-get-global`
|
|
- `remote.getCurrentWindow()` / `remote-get-current-window`
|
|
- `remote.getCurrentWebContents()` / `remote-get-current-web-contents`
|
|
|
|
## --no-sandbox
|
|
|
|
Disables Chromium sandbox, which is now enabled by default.
|
|
Should only be used for testing.
|
|
|
|
[app]: app.md
|
|
[append-switch]: app.md#appcommandlineappendswitchswitch-value
|
|
[ready]: app.md#event-ready
|
|
[play-silent-audio]: https://github.com/atom/atom/pull/9485/files
|
|
[debugging-main-process]: ../tutorial/debugging-main-process.md
|
|
[node-cli]: https://nodejs.org/api/cli.html
|