У меня есть приложение реакции, которое подключается к микро-сервисам. У меня разные микро-сервисы URL для каждой среды. Поэтому у меня есть несколько файлов env: .env, .env-develoment-local, env-development, ...

Когда я запускаю приложение локально, приложение выбирает параметр в .env.development-local, который является expecetd.

Когда я выполняю npm run build, я заметил, что, поскольку он создает производственную сборку, он выбирает файл .env.

Мой вопрос: как настроить сборку таким образом, чтобы она выбирала другие файлы .env, например .env.development или .env.qa и т. Д.?

7
The Reedemed77 15 Авг 2019 в 17:17

2 ответа

Лучший ответ

Я смог заставить это работать с помощью https://github.com/toddbluhm/env-cmd

Я сделал следующее:

npm install --save-dev env-cmd

Затем обновил package.json соответственно:

"scripts": {
   "start": "react-scripts start",
   "build": "react-scripts build",
   "test": "react-scripts test",
   "eject": "react-scripts eject",
   "build:stage": "env-cmd -f ./.env.stage npm run-script build" 
}

Затем выполните следующую команду:

npm run build:stage
1
The Reedemed77 16 Авг 2019 в 21:05

Загляните в package.json, обычно там указывается среда

-2
Coen van Campenhout 15 Авг 2019 в 14:20