Как обеспечить настройку для js-приложения? - PullRequest
0 голосов
/ 05 июня 2018

Когда я создаю бэкэнд-приложение, я могу создать пакет только один раз, подписать его и развернуть один и тот же пакет во многих различных средах: production, uat, dev и т. Д. Он будет читать db url, пароли и все другие параметры конфигурации изокружение или командная строка.

как это должно быть сделано с приложением js (например, реагировать или угловой)?мой интерфейс должен использовать другой сервер для производства и UAT.какой отраслевой стандарт для этого?сборка пакета несколько раз, по одному разу для каждой среды?или есть способ получше?

1 Ответ

0 голосов
/ 05 июня 2018

Браузер не может получить доступ к переменным среды, даже URL-адреса среды различны.Конечно, вы можете разместить эти переменные где-нибудь на уровне балансировки нагрузки и на основе входящего URL-адреса возвращать JS с конкретными конфигурациями, но это не распространенное решение.

Я предлагаю делать сборку для среды.Самый простой способ - настроить такие задания, как:

"scripts": {
  "build": "sh -ac '. .env.${REACT_APP_ENV}; react-scripts build'",
  "build:staging": "REACT_APP_ENV=staging npm run build",
  "build:production": "REACT_APP_ENV=production npm run build",
}
...