Как запустить одну и ту же сборку приложения react / webpack в разных средах

#webpack #environment-variables #staging

#webpack #среда-переменные #постановка

Вопрос:

Я создаю одностраничное приложение с использованием React и Webpack. Для целей тестирования мне нужно иметь возможность создавать приложение, а затем запускать одну и ту же сборку как в промежуточной, так и в производственной среде с разными настройками (промежуточная настройка должна использовать промежуточные API, где в производстве следует использовать производственные)

Я знаю о подходах, использующих envify, DefinePlugin, dotEnv однако все они требуют, чтобы значения переменных среды были известны во время сборки.

Я ищу что-то действительно похожее на dotEnv, где у меня будет только один файл, который я могу включить в производство для одного с производственными значениями и без необходимости изменения в приложении

Есть идеи, как этого добиться? Когда-то очевидным решением было бы определить общедоступный env.js файл, который определял бы вид глобального объекта, но это не кажется достаточно элегантным: (

Комментарии:

1. Действительно, через 3 года решения еще нет :)) ?!

2. @errogaht — причина может заключаться в том, что нет очевидного ответа :). С тех пор я использовал различные методы. Из простых, где у меня были разные файлы env.json, и только конкретный был развернут и динамически загружен приложением. Для действительно сложных, где в том же домене была развернута отдельная служба обнаружения, предоставляющая мне другие переменные среды