Я полагаюсь на параметры запроса URI , чтобы правильно инициализировать мою конфигурацию (конечные точки сервера) в моем приложении React.
tl; wr
Я подозреваю, что веб-пакет предотвращает Worker от получения параметров запроса URI главной страницы (location.search
). Есть ли способ передать эти перед инициализацией Worker (в противном случае я заставлю главную страницу отправлять параметры Worker'у после создания экземпляра)?
Long version
Главная страница работает без проблем, но рабочий имеет пустую строку в качестве значения для его location.search
.
Я использую webpack (это приложение React), Comlink и Worker-loader, но похоже, что Worker не получает страницу location.search
.
Я не могу определить кто здесь виноват (Comlink или webpack, или рабочий-загрузчик, или я?), но, учитывая, что я импортирую Worker следующим образом:
// eslint-disable-next-line import/no-webpack-loader-syntax
import FileExplorerWorker from "worker-loader!../workers/file-explorer.worker.js";
...
WORKER_INSTANCE: Comlink.wrap(new FileExplorerWorker()),
, а окончательное расположение WorkerLocation:
{
hash: ""
host: "localhost:3000"
hostname: "localhost"
href: "http://localhost:3000/session-id/fake/path/to/index.html/e60104c3539f6a6344b0.worker.js"
origin: "http://localhost:3000"
pathname: "/session-id/fake/path/to/index.html/e60104c3539f6a6344b0.worker.js"
port: "3000"
protocol: "http:"
search: ""
}
Обратите внимание, как за это отвечает webpack (значение ha sh, как ожидается при чтении do c) имя файла воркера. Я собирался попробовать использовать свойство name в файле конфигурации, но, опять же, я не могу предсказать значение параметров URI главной страницы.
Я также пробовал включать параметры URI в путь импорта (как таковые import FileExplorerWorker from "worker-loader!../workers/file-explorer.worker.js?foo=bar";
), но они также не отображались в WorkerLocation.search. Затем я планировал программно импортировать Worker, добавив к нему параметры запроса URI главной страницы ^^
На данный момент я просто отправлю главной странице свои параметры URI в Worker после инициализации , но если кто-нибудь знает, как я могу добиться предоставления параметров URI главной страницы рабочему перед его инициализацией , это был бы очень признателен (также, если проблема не в веб-пакете, а Комлинк, не стесняйтесь поправлять меня, но я не думаю, что это так).