Вопрос
Я пытаюсь использовать веб-работников в электронном виде.Пока что я могу создать рабочий процесс из процесса визуализации, но когда я пытаюсь выполнить require('some_module')
в рабочем процессе, процесс завершается с ошибкой.
Невозможнонайти модуль 'some_module' .
Загрузчик cjs не может найти мой модуль.Но когда я выполняю тот же самый вызов require
из процесса рендеринга, я могу require
модуль.
Я выполнил все шаги, упомянутые здесь .Также я установил опцию nodeIntegrationInWorker: true
и могу без проблем вызывать require
вызовы встроенных в узел модулей, таких как fs
.
Несколько замечаний
__dirname
в обработанном процессе преобразуется в
root / node_modules / электрон / dist / resources / Electron.asar / Renderer
и в рабочем процессе разрешается до
root / node_modules / electronic / dist / resources / Electron.asar / worker
доКак я уже читал, функция require должна найти мой модуль в node_modules dir, который является родительским для renderer и worker dir
Беглый взгляд на глобальный process
в работнике показывает, что process.type
равен worker
, а process.argv[1]
равен --type=renderer
, что я нахожу странным.
Мета : Электронная версия = "4.0.0", платформа = "win32", arch = "x64",node version = "v10.11.0"
Любая помощь в этом отношении будет принята.