Подтвердить что ты не робот

Как передать аргумент электрону при использовании электрон-строителя?

Я создаю приложение с Electron и упаковку с помощью Electron Builder. При работе с электроном я хочу передать этот аргумент командной строки: --enable-mixed-sandbox.

Возможно ли это? Как?

Это:

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

не будет работать из-за:

Обратите внимание, что этого недостаточно app.commandLine.appendSwitch('- enable-sandbox'), поскольку электрон/ nodeзапуск кода запускается после того, как можно внести изменения в хром настройки песочницы. Переключатель должен быть передан электрону на командная строка:

electron --enable-sandbox app.js

Невозможно, чтобы песочница OS активна только для некоторых рендерингов, если включена опция -enable-sandbox, нормальные электронные окна не может быть создан.

4b9b3361

Ответ 1

Вы можете использовать app.commandLine.appendSwitch в ваших приложениях main script (тот, который открывает окно Electron)

Пример для вашего коммутатора будет

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

Ответ 2

Я получил ответ по этой проблеме, которую я поднял и связал в комментариях:

app.enableMixedSandbox() // Experimental macOS Windows

Смотрите здесь для документации.

Ответ 3

другой способ сделать это, вы можете использовать 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
  })
}