Встроенное требование с веб-пакетом для веб-работников - PullRequest
0 голосов
/ 01 октября 2018

Скажем, у меня есть файл 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).

...