Heroku: продвижение статической страницы реакции с различными переменными окружения

У нас есть сайт статического реагирования, развернутый с помощью трубопроводов Heroku.

Код выдвигается и автоматически создается на этапе. Для продвижения в производство мы хотели бы использовать функцию продвижения Heroku, поэтому мы уверены, что мы используем ту же сборку, которую мы тестировали на сцене.

Stage и Production имеют разные API, которые мы хотели бы настроить через переменные среды Heroku.

Вовремя npm run build на сцене const apiUrl = process.env.API_URL заменяется во время const apiUrl = "https://stage-api.example.com"

К сожалению (но, конечно), после продвижения в производство apiUrl все еще тот от Стадии.

Кроме того, хак с фазой выпуска не работает, потому что изменения файловой системы во время фазы выпуска не будут развернуты.

Есть ли способ использовать функцию продвижения Heroku со статической сборкой вместе с переменными окружения (я знаю, что мы могли бы сделать перестройку за этап или загрузить конфигурацию на основе домена)?

Есть ли хорошие практики для развертывания статического сайта с конвейерами Heroku?

1 ответ

Тебе нужно иметь const apiUrl = process.env.API_URL запускается во время выполнения, не вводится при сборке. Я использую функцию продвижения с помощью heroku, и приложение просто берет эту переменную, если process.env.NODE_ENV === 'production'

Другие вопросы по тегам