Как предотвратить изменение имени файла пакета поставщика в веб-пакете DefinePlugin? - PullRequest
2 голосов
/ 19 февраля 2020

Я следовал руководству по кэшированию webpack , и теперь у меня есть 3 пакета: main, runtime и vendors.

Однако в моем webpack.config. js я использую DefinePlugin для экспорта пакета. json version в пользовательский интерфейс, например, так:

new DefinePlugin({
  'process.env': {
    VERSION: JSON.stringify(`v${packageJSON.version}`)
   }
}),

Это приводит к тому, что имя файла пакета поставщика меняется с каждым выпуском пользовательского интерфейса.

Как поместить глобальные переменные, определенные с помощью DefinePlugin, в основной пакет?

1 Ответ

0 голосов
/ 20 февраля 2020

Оказалось, что проблема в ключе, определенном с помощью DefinePlugin: 'process.env'.

Мы пропустили чтение плагина , окно предупреждения , поэтому веб-пакет заменял каждое вхождение process.env в сторонние библиотеки с нашим объектом. Поскольку мы также включили версию приложения, результирующий пакет vendors.*.js отличался для каждого выпуска.

Переименовав process.env в просто env (и изменив наш код соответствующим образом), веб-пакет теперь может производить один и тот же пакет vendors.*.js, независимо от версии нашего приложения.

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