Как я могу по-разному создавать env и prod env во время сборки?и т.д.) Конфигурация БД - PullRequest
0 голосов
/ 25 января 2019

Я использую create-реагировать-приложение, я должен установить проект prod env, dev env по-разному и развернуть на dev server & prod server (отдельно)

сейчас, я не могу найти хороший способэта проблема, я меняю значение конфигурации перед развертыванием на сервер (prod или dev).но это неэффективно и нестабильно.

например)

// config.json

...
"db": {
    "prodSchema": "foo_p",
    "devSchema": "foo_d",
    "username": "dany",
    "password": "****",
    "host": "123.456.789.111:3306",
    "dialect": "mysql"
},
...

и использовать

// config use.js

при развертывании, проверке и изменении ...

//db.connect(config.prodSchema)
db.connect(config.devSchema)

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

1 Ответ

0 голосов
/ 25 января 2019

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

browserify имеет преобразование , называемое envify для той же цели.

тогда вы можете сделать что-то вроде этого:

import axios from "axios";

const env = process.env.NODE_ENV || "development";

const config = {
  development: {
    baseURL: "http://127.0.0.1:3000",
  },
  staging: {
    baseURL: "https://mysuperservice.herokuapp.com",
  },
  production: {
    baseURL: "https://mysuperservice.com",
  },
};
const api = axios.create({
  baseURL: config[env].baseURL,
  headers: {
    "x-api-key": "ABC",
  },
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...