Как установить URI в качестве переменной в зависимости от того, находится ли он в производственной среде или нет - PullRequest
0 голосов
/ 14 декабря 2018

В настоящее время есть приложение MERN, которое пытается развернуть на heroku.У меня есть URI mongodb, объявленный локальным импортом файла конфигурации, но на heroku я настроил конфигурацию heroku для использования process.env.mongoURI.Какой хороший способ настроить мой код так, чтобы он использовал мой локальный файл конфигурации, если он запускался локально, и конфигурацию heroku, когда он запускался в heroku?Вот то, что я пытаюсь до сих пор, и это не работает.

if (process.env) {
  const keys = null
} else {
  const keys = require('./config/keys')
}

let db = '';
if (process.env) {
  db = process.env.mongoURI
} else {
  db = keys.mongoURI
}

1 Ответ

0 голосов
/ 15 декабря 2018

Вот как я это делаю.Я создаю другой файл конфигурации для разных сред.Например:

Мой конфигурационный файл:

const environment = {};

environment.development = {

    mongoURI: 'Your mongo uri',
    port: '5000',
    secret: "YOUR SECRET"
};

environment.production = {

    mongoURI: 'Your mongo uri',
    port: 'YOUR PORT',
    secret: "YOUR SECRET"
};

var currentEnvironment = typeof(process.env.NODE_ENV) == 'string' ? process.env.NODE_ENV.tolower() : "";

var environmentToExport = typeof(environment[currentEnvironment]) == 'string' ? environment[currentEnvironment] : environment.development;

module.exports = environmentToExport;

Вам также нужно установить NODE_ENV на вашем локальном компьютере, чтобы это работало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...