Укажите другой модуль для работника, используя веб-пакет ProvidePlugin? - PullRequest
4 голосов
/ 22 апреля 2020

Я бы хотел использовать ProvidePlugin в Webpack для замены свободной переменной на функцию. В рабочих я хочу заменить его другой реализацией.

Ни веб-пакет worker-loader , ни GoogleChromeLabs WorkerPlugin , похоже, не позволяют этого. Последний был многообещающим, но, несмотря на утверждение, что он «не запускает ни один из настроенных вами плагинов Webpack при объединении рабочего кода», ProvidePlugin в основной конфигурации взаимодействует с тем, который передан WorkerLoader.

Вот простой пример конфигурации (только часть плагинов):

plugins: [
  new webpack.ProvidePlugin({
    _X_: ['/path/to/a', 'default'],
  }),
  new WorkerPlugin({
    globalObject: false,
    plugins: [
      new webpack.ProvidePlugin({
        _X_: ['/path/to/b', 'default'],
      }),
    ],
  }),
]

Мой вопрос: Как мне указать другую реализацию (модуль) для свободной переменной в работниках?

Я не привязан к какому-либо конкретному плагину или загрузчику (ProvidePlugin, worker-loader, worker-plugin), но чем стандартнее, тем лучше.

1 Ответ

1 голос
/ 30 апреля 2020

Ответ: Я не знаю, как указать другую реализацию переменной, но я знаю, как это сделать для модуля.
Я только что обновил репо , надеюсь, это поможет вам.
Теперь это работает даже с глубокими рабочими зависимостями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...