@lexstile

Почему в webpack.config недоступен process.env?

Webpack 5.73.0
dotenv 16.0.3
dotenv-webpack 8.0.1

Как происходит сборка:
1. Сборка образа осуществляется через jenkins и кладется в nexus
2. Далее, через portainer мы делаем recreate нужного нам контейнера (здесь же устанавливаются переменные).

Переменные доступны через консоль в контейнере.
Но, как я понял, нет доступа к process.env во время сборки (не могу понять, почему).

Сначала грешил на DefinePlugin, но после вывода:
const DefinePluginConfig = new Webpack.DefinePlugin({
  'process.env': JSON.stringify(process.env), // undefined на выходе (ни одна переменная не присваивается)
  'process.env.TEST': JSON.stringify(true), // true (вебпак корректно прокидывает переменную хардкодом)
  'process.env.APP_ENV': JSON.stringify(process.env.APP_ENV), // undefined (переменная не присваивается)
});


В самом начале конфига вызываю:
require('dotenv').config();

Извините, но не понимаю, что за х** творится.

Пробовал:
1. Писать dotenv.config().parsed
2. Делать префиксы к переменным REACT_APP_
3. Добавлять dotenv-webpack (но как я понял, он берет из файла рядом)
4. Использовать EnvironmentPlugin
  • Вопрос задан
  • 188 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы