Скажем, у меня есть файл Javascript со следующим содержимым:
function worker(callback) {
let helper = require("./helper.js")
let result = helper.doSomething();
callback(result);
}
Содержимое файла будет связано с Webpack.Таким образом, эта функция и файл helper.js будут объединены в один файл.
Теперь самое сложное: эта функция будет использоваться внутри веб-работника.Требование больше не распознается, поскольку внутри веб-работника они выходят за рамки.
Потенциальное решение может заключаться в инкорпорации содержания оператора require.В сборке разработки это может выглядеть так:
function worker(callback) {
let helper = eval("return {doSomething: function(){ return 3 }}");
let result = helper.doSomething();
callback(result);
}
Таким образом, требование просто заменяется, и все необходимые модули включаются в область действия веб-работника.
Myвопрос: возможна ли эта форма разрешения модуля с Webpack?Могут ли модули быть встроенными вместо необходимости?
Расширенная информация:
Я использую библиотеку threads.js , которая упрощает многопоточность в сети и узлесреда.Для веб-сайтов обычно требуется определить сценарии, которые будут импортированы с помощью дополнительного параметра.Среда Node должна просто требовать этих библиотек внутри веб-работника.
Я бы предпочел не писать код для конкретной платформы, а просто позволить Webpack создавать два пакета веб-рабочих.Один для веб (который будет содержать операторы require) и один для узла (который будет содержать оператор require).