Подтвердить что ты не робот

React + webpack: 'process.env' undefined

Я пытаюсь запустить сервер hot dev на нашем сайте с помощью webpack; на сайте используется ReactJS, в котором есть этот код:

if (\"production\" !== process.env.NODE_ENV) // etc

Когда не выполняется "горячая" замена, это нормально, но с горячей заменой он запускается, что приводит к ошибке:

TypeError: process.env is undefined

Код выглядит следующим образом:

error is on this line

Проект моделируется после https://github.com/webpack/react-starter, который работает; так что вопрос: какую ошибку я сделал в файле конфигурации и/или как мне искать ошибку, когда компиляция "production" работает нормально?

Я разместил gist файла конфигурации webpack.

4b9b3361

Ответ 1

В конфигурации вашего веб-пакета есть два параметра, которые могут повлиять на process.env:

Если вы посмотрите на свой код, process.env может быть undefined, когда options.prerender и options.minimize false.

Вы можете исправить это, всегда используя среду, которая определяет process.env (ex: node), или используя DefinePlugin, чтобы назначить значение по умолчанию для переменной самостоятельно.

Ответ 2

Этот ответ дал мне больше смысла. Проводка для других с одинаковой потребностью для полного примера.

https://github.com/webpack/webpack/issues/868

Ответ 3

Это самый простой способ:

new webpack.EnvironmentPlugin( { ...process.env } )

Добавьте это в список плагинов webpack.