Electronjs требует использования в процессе рендерера - PullRequest
0 голосов
/ 15 октября 2019

В электронном приложении нам могут потребоваться узлы-модули как для рендерера, так и для основного процесса. Я понял, что когда мне требуется модуль в main процесса рендеринга (скрипт входа html), он становится доступным во всех файлах, которые у меня есть. Я, возможно, не объяснил это очень четко, поэтому позвольте мне привести пример.

Рассмотрим следующую схему электронного проекта:

src\
main.js
module1.js
module2.js
index.js
index.html

main.js - это основной процесс электронного приложенияи index.js - это скрипт, загруженный в index.html в конце его тега body.

Внутри index.js мне требуются и module1, и module2 (остальная часть файла не имеет значения)

const m1 = require('module1')
const m2 = require('module2')

Я понял, что внутри модуля 2 у меня теперь есть доступ к переменной m1. Поэтому мне не нужно снова запрашивать module1 внутри module2, если он мне нужен.

module2:

console.log(m1) // actually shows the m1 that was required in index.js

Мне кажется, что я сделал ошибку, пытаясь написать сторону рендерера, как если бы онбыл узлом приложения. И я не смог найти какую-либо документацию, касающуюся общих правил, когда писал сторону для рендеринга электронного приложения. Я знаю, что это немного косвенный вопрос, но не могли бы вы рассказать мне о макете процесса визуализации. Разве я не должен пытаться разделить файл рендеринга JS на модули?

1 Ответ

0 голосов
/ 15 октября 2019

Вы можете использовать аргумент предварительной загрузки в webPreferences при создании основного BrowserWindow.

ИЛИ

Попробуйте использовать удаленный модуль электрона (https://electronjs.org/docs/api/remote)

ИЛИ

Доступ к модулю в основном процессе, вызов функций для ожидаемого результата и отправка результата в процесс визуализации с помощью IPC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...