使用electron builder时如何将参数传递给electron?

使用electron builder时如何将参数传递给electron?,electron,electron-builder,electron-packager,Electron,Electron Builder,Electron Packager,我正在用Electron构建一个应用程序,并用Electron Builder进行打包。当运行电子时,我想传递这个 可能吗?怎么做 这: 不起作用: 请注意,仅调用 app.commandLine.appendSwitch('--enable sandbox'),作为electron/node 启动代码在可以对chromium进行更改后运行 沙盒设置。开关必须传递到电子上 命令行: electron --enable-sandbox app.js 如果启用了--enable sandbox,则

我正在用Electron构建一个应用程序,并用Electron Builder进行打包。当运行电子时,我想传递这个

可能吗?怎么做

这:

不起作用:

请注意,仅调用 app.commandLine.appendSwitch('--enable sandbox'),作为electron/node 启动代码在可以对chromium进行更改后运行 沙盒设置。开关必须传递到电子上 命令行:

electron --enable-sandbox app.js
如果启用了--enable sandbox,则不可能仅对某些渲染器激活操作系统沙盒,正常的电子窗口 无法创建

您可以在应用程序中使用主脚本(打开Electron窗口的脚本)

您的切换示例如下:

app.commandLine.appendSwitch('enable-mixed-sandbox') app.commandLine.appendSwitch('enable-mixed-sandbox') 我谈到了我在评论中提出并链接到的问题:

app.enableMixedSandbox() // Experimental macOS Windows

有关文档,请参阅。

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

const Application=require('spectron')。应用程序
//返回应用程序加载后解析为Spectron应用程序的承诺。
//进行Ava测试。进行一些基本断言以验证应用程序是否正确加载。
函数createApp(t){
返回新应用程序({
路径:'path/to/app',
参数:['-r','-启用混合沙盒'],
环境:{NODE_env:'test'},
等待超时:10e3
})

}
当该行开始运行时,该选项已经太迟了。它在关于沙盒的文档中的某个地方(我现在在移动设备上)。我想最简单的方法是编辑快捷方式,以便它使用该选项启动。但不知道如何通过编程实现。@据我所知,SwiftsNamesake这些参数没有到达electron。你知道其他的吗?手动尝试一下,看看会发生什么?我已经对我的答案做了实质性的更改。这是如何与electron builder一起发布应用程序的?我可以在开发模式下传递任何参数,这不是问题所在。问题是electron-builder生成的.exe。出于安全考虑,我不认为您可以将沙盒传递给捆绑应用程序。正如electron在文档中提到的,V8引擎中的一些错误可能允许恶意代码访问渲染器预加载API,从而有效地通过远程模块授予对系统的完全访问权。检查此项也可以解释更多。
app.enableMixedSandbox() // Experimental macOS Windows