У меня есть файл JS, который я импортирую в "Electron" " main " (или фоновый процесс), app.js
, используя require
(например: const myJS = require("./pathToMyJS/myJS");
)
Содержимое myJS.js
:
module.exports = {
mFunc: function mFunc(param1) {
...
}
};
И я могу использовать mFunc
в app.js
как myJS.mFunc(param1);
и все отлично.
Затем я попытался выполнить тот же процесс для " renderer " JS. Поэтому мой renderer.js
теперь импортирует const myOtherJS = require("./myJS/myOtherJS");
, где этот другой JS-файл следует той же логике module.exports
, что и myJS
.
И корневой HTML (app.html
) объявляет renderer
как <script defer src="./renderer/renderer.js"></script>
.
Но при запуске я получаю:
Uncaught TypeError: Cannot set property 'exports' of undefined
at renderer.js? [sm]:34
Выполняя поиск в Интернете, я наткнулся на ответ , в котором упоминается, что вместо AMD можно использовать способ AMD. Поэтому я попробовал следующее: (не уверен, правильно ли это синтаксически!)
define(
["renderer"],
function rFunc(param1) {
... }
)
Но это не так с:
Uncaught ReferenceError: define is not defined
Так, как правильно определить функции для экспорта при их использовании в рендерере? До сих пор я просто писал функции в их собственных файлах JS (например: function func1() { ...}
) и объявлял все эти файлы в app.html
как <script defer src="./funcFile1.js"></script>
.