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

时间:2017-07-24 19:22:26

标签: electron electron-builder electron-packager

我正在使用Electron构建一个应用程序并使用Electron Builder进行打包。在运行电子时,我想通过这个command line argument: --enable-mixed-sandbox

有可能吗?怎么样?

此:

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

不起作用due to

  

请注意,拨打电话是不够的   app.commandLine.appendSwitch(' - enable-sandbox'),作为电子/节点   启动代码在可以对铬进行更改后运行   沙箱设置。开关必须传递到电子上   命令行:

electron --enable-sandbox app.js
     

如果启用了--enable-sandbox,则不能让OS沙箱仅对某些渲染器有效,正常的电子窗口   无法创建。

3 个答案:

答案 0 :(得分:0)

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

您的切换示例


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

答案 1 :(得分:-1)

我在评论中提出并链接到了这个问题a response

app.enableMixedSandbox() // Experimental macOS Windows

有关文档,请参阅here

答案 2 :(得分:-1)

另一种方法是,您可以使用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
  })
}

Gson converter