WorkerLocation.search всегда пуст (предположительно вызван webpack) - PullRequest
0 голосов
/ 19 июня 2020

Я полагаюсь на параметры запроса 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 главной страницы рабочему перед его инициализацией , это был бы очень признателен (также, если проблема не в веб-пакете, а Комлинк, не стесняйтесь поправлять меня, но я не думаю, что это так).

...