Electron — Решение проблем с модулями Electron в процессе рендеринга

У меня возникают трудности с разрешением электронных модулей в моем веб-приложении с помощью Electron v0.32.3 с помощью require. Насколько я понимаю (хотя в документах это не очень ясно), предполагается, что модули должны быть автоматически доступны для запроса приложения, запускаемого в веб-просмотре (примеры включают «ipc» и «remote»). Я вижу, что они есть во время выполнения, но не знаю, как получить к ним доступ: введите здесь описание изображения

Я чувствую, что в этом есть какая-то часть, которую мне не хватает. Дополнительная информация: мое веб-приложение представляет собой SPA Durandal 2x, которое уже требует загрузки модулей. Есть ли какие-либо другие настройки, которые требуются в конфигурации requirejs процесса рендеринга для доступа к этим модулям?


person ChoptimusPrime    schedule 30.09.2015    source источник


Ответы (1)


Оказывается, я просто не понимал всех происходящих процессов. Таким образом, с приложением, которое использует веб-просмотр внутри окна браузера, необходимо учитывать три процесса:

  1. Основной процесс - имеет доступ к узлу
  2. Процесс рендеринга (окно браузера) - по умолчанию имеет доступ к узлу
  3. Процесс веб-просмотра — нет доступа к узлу по умолчанию

Я видел модули узла, доступные для 2), и пытался использовать их в 3). Webview имеет атрибут «nodeintegration», который можно использовать для включения этого: http://electron.atom.io/docs/v0.34.0/api/web-view-tag/#nodeintegration

Однако использование сценария предварительной загрузки позволяет отображать только необходимые функции узла с помощью интеграции узлов: http://electron.atom.io/docs/v0.34.0/api/web-view-tag/#preload

Я выбрал это решение, настроив связь между процессом рендеринга и процессом веб-просмотра.

person ChoptimusPrime    schedule 26.10.2015