electronic 5.0.0 "Uncaught ReferenceError: требование не определено" - PullRequest
21 голосов
/ 11 марта 2019

Первоначально я использовал электронно-стабильный (4.x.x) и смог использовать require в процессах браузера и рендерера. Я обновился до бета-версии (5.0.0), потому что мне нужна была более новая версия узла, и я столкнулся с этим сообщением об ошибке в процессе рендеринга Uncaught ReferenceError: require is not defined.

Погуглив и просматривая электронные документы, я нашел комментарии о том, что ошибка может быть вызвана установкой webPreferences.nodeIntegration в значение false при инициализации BrowserWindow; например: new BrowserWindwo({width, height, webPreferences: {nodeIntegration: false}});. Но я этого не делал, поэтому подумал, что проблема должна быть в другом, и продолжил поиск решения.

Решение:

Оказывается, nodeIntegration было истинно по умолчанию в предыдущих электронных версиях, но ложно по умолчанию в 5.0.0. Следовательно, установив его в true, я решил мою проблему. Не обнаружив, что это изменение задокументировано в Интернете в комментариях или на странице электроники, я подумал, что сделаю этот пост с самоответом, чтобы облегчить его поиск для будущих людей, которые столкнутся с этой проблемой.

Ответы [ 4 ]

30 голосов
/ 11 марта 2019

Оказывается, nodeIntegration было истинно по умолчанию в предыдущих электронных версиях, но ложно по умолчанию в 5.0.0. Следовательно, установив его в true, я решил мою проблему. Не обнаружив, что это изменение задокументировано онлайн в комментариях или на странице электроники, я подумал, что сделаю этот пост с самоответом, чтобы его было легче найти будущим людям, которые столкнулись с этой проблемой.

18 голосов
/ 26 апреля 2019

Как и junvar сказал, nodeIntegration теперь по умолчанию ложно в 5.0.0.

В Electronjs FAQ есть пример кода о том, как установить этозначение:

let win = new BrowserWindow({
  webPreferences: {
    nodeIntegration: false
  }
})
win.show()
6 голосов
/ 26 апреля 2019

junvar верно, nodeIntegration по умолчанию в версии 5.0.0.

Это последний оператор в Other Changes разделе Примечания к выпуску для v5.0.0 , который также упоминался в этом PR

0 голосов
/ 04 июня 2019

Я использую электрон v4.1.4, и я нахожу это каждый раз, когда открываю DevTools в своем приложении, электрон не надевает нас, просто чтобы показать важность чтения такого рода предупреждений.

Screenshot-from-2019-06-04-09-27-38.png

...