Как бы вы определили конфигурацию в вашем приложении для создания реакции? - PullRequest
0 голосов
/ 11 апреля 2019

Я нахожусь в этом проекте, построенном с использованием CRA, и мне нужно загрузить 3 конфигурации окружения (dev / stage / prod).

На данный момент я использую windows.location.hostname для идентификации хоста и экспорта конфигурации.

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

Текущий подход:

constant.js

import host from '../Libs/Helpers/host'

const localhost = {
  APP_DIR: '/',
  APP_HOSTNAME: 'http://travel-dev.local/',
  ...
}
const staging = {
  APP_DIR: '/travel-cst-staging/',
  APP_HOSTNAME: 'https://travel-dev.com/',
  ...
}
const production = {
  APP_DIR: '/travel-cst/',
  APP_HOSTNAME: 'https://travel.com/',
  ...
}

let exportVar = {}
if (host.isLocalhost()) 
  { exportVar = localhost } 
else if (host.isStaging()) 
  { exportVar = staging } 
else 
  { exportVar = production }

export default exportVar

Я открываю, чтобы иметь различные файлы конфигурации, такие как - local.js, stage.js и prod.js, и загружаю их во время "npm run start ", передав переменную evn, но как этого добиться, мне неизвестно.

Любая помощь или предложение высоко ценится.

...