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.
Ответы
Ответ 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.