electron 使用电子生成器时如何给电子传递参数?

z2acfund  于 2023-03-10  发布在  Electron
关注(0)|答案(4)|浏览(213)

我正在用Electron构建一个应用程序,并用Electron Builder打包。当运行electron时,我想传递这个command line argument: --enable-mixed-sandbox
有可能吗?怎么可能?
这一点:

app.commandLine.appendSwitch('enable-mixed-sandbox')

不起作用的原因是:
请注意,调用app.commandLine.appendSwitch('--enable-sandbox')是不够的,因为electron/node启动代码是在可以更改chromium沙箱设置之后运行的。必须在命令行上将开关传递给electron:

electron --enable-sandbox app.js

不可能只为某些渲染器激活OS沙箱,如果启用--enable-sandbox,则无法创建正常的电子窗口。

r8uurelv

r8uurelv1#

您可以在应用程序主脚本(打开Electron窗口的脚本)中使用app.commandLine.appendSwitch
您的交换机示例如下

app.commandLine.appendSwitch('enable-mixed-sandbox')
r7knjye2

r7knjye22#

enable-mixed-sandbox不是有效的Electron命令行标志。有关Electron的所有可用命令行标志,请参阅here

pcrecxhr

pcrecxhr3#

另一种方法是,你可以使用Spectron在调试模式下启动应用程序。这允许你传递任何你想要的参数。

const Application = require('spectron').Application

// Returns a promise that resolves to a Spectron Application once the app has loaded.
// Takes a Ava test. Makes some basic assertions to verify that the app loaded correctly.
function createApp (t) {
  return new Application({
    path: 'path/to/app',
    args: ['-r', '--enable-mixed-sandbox'],
    env: {NODE_ENV: 'test'},
    waitTimeout: 10e3
  })
}

https://github.com/electron/spectron#new-applicationoptions

ekqde3dh

ekqde3dh4#

关于我在评论中提出并链接到的问题,我得到了a response

app.enableMixedSandbox() // Experimental macOS Windows

参见此处获取文档。

相关问题