We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
当你的应用启动时,你可能需要同时带上一些参数来影响程序的执行逻辑。比如,通过设置启动参数,来让程序换不同的皮肤。
以windows系统为例,在windows的exe上右键属性,可以看到如下界面
在目标一栏,是程序exe的路径,我们可以在这个路径后面加入特殊的参数来满足我们的需求。
"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe" --args theme=dark
我们在路径上加入了theme的参数,值为dark,应用启动时读取这个参数,可以以dark的主题来显示界面。在Electron开发的程序中,如何实现这样的功能呢?
其实原理很简单,我们都知道Electron的主进程其实就是个node进程,所以可以直接通过node支持的方式去获取启动参数。在以往用node实现web server的时候,我们会通过传入 --worker=2 的形式来配置worker数量,然后使用process.argv来获取。同理,在electron中也可以这么干。
//主进程 main.js const { app, BrowserWindow } = require('electron'); console.log(process.argv);
上面代码的输出结果为下图
可以看到,在主进程中获取到启动参数其实很简单。那渲染进程又该如何获取呢?这就回到了上一章讲到的主进程和渲染进程间如何通信的问题了,比如你可以直接这么写
//渲染进程 renderer.js const remote = require('electron').remote alert(remote.process.argv)
更多的方法可以参考上一章的讲解来实现。
除了Electron本身启动的参数之外,还有一个重要的启动参数开关就是chrome浏览器本身的。Electron通过集成chrome来实现窗口,所以每个窗口本质上都是一个chrome浏览器进程。在chrome浏览器中,有很多的特性出于安全考虑或者是还在实验阶段,是没有默认开放的,需要人为的通过命令行参数去打开。比如我们可以在chrome.exe后面加--remote-debugging-port=port来指定端口开启远程调试。
在electron中同样也是支持这样的功能的,如果你有特殊的需求,可以通过下面的方式开启你想要的特性
//主进程 main.js const { app } = require('electron') app.commandLine.appendSwitch('remote-debugging-port', '8315') app.commandLine.appendSwitch('--disable-http-cache ','true') app.on('ready', () => { // 你的代码 })
The text was updated successfully, but these errors were encountered:
No branches or pull requests
程序启动参数
当你的应用启动时,你可能需要同时带上一些参数来影响程序的执行逻辑。比如,通过设置启动参数,来让程序换不同的皮肤。
以windows系统为例,在windows的exe上右键属性,可以看到如下界面
在目标一栏,是程序exe的路径,我们可以在这个路径后面加入特殊的参数来满足我们的需求。
"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe" --args theme=dark
我们在路径上加入了theme的参数,值为dark,应用启动时读取这个参数,可以以dark的主题来显示界面。在Electron开发的程序中,如何实现这样的功能呢?
其实原理很简单,我们都知道Electron的主进程其实就是个node进程,所以可以直接通过node支持的方式去获取启动参数。在以往用node实现web server的时候,我们会通过传入 --worker=2 的形式来配置worker数量,然后使用process.argv来获取。同理,在electron中也可以这么干。
上面代码的输出结果为下图
可以看到,在主进程中获取到启动参数其实很简单。那渲染进程又该如何获取呢?这就回到了上一章讲到的主进程和渲染进程间如何通信的问题了,比如你可以直接这么写
更多的方法可以参考上一章的讲解来实现。
chrome命令行开关
除了Electron本身启动的参数之外,还有一个重要的启动参数开关就是chrome浏览器本身的。Electron通过集成chrome来实现窗口,所以每个窗口本质上都是一个chrome浏览器进程。在chrome浏览器中,有很多的特性出于安全考虑或者是还在实验阶段,是没有默认开放的,需要人为的通过命令行参数去打开。比如我们可以在chrome.exe后面加--remote-debugging-port=port来指定端口开启远程调试。
在electron中同样也是支持这样的功能的,如果你有特殊的需求,可以通过下面的方式开启你想要的特性
The text was updated successfully, but these errors were encountered: