Я хочу проверить поведение своего приложения, отправив его в промежуточное приложение на Heroku. Есть часть, которая сохраняет информацию в s3, которую я хочу, чтобы приложение выполняло во время производства, но пропускало ее при тестировании на стадии подготовки. Есть ли способ сделать это? Я вручную комментировал это, но было бы неплохо, если бы это можно было сделать автоматически. Я использую узел и выражаю, если это помогает.
Могу ли я игнорировать часть кода в постановке Heroku?
Ответы (1)
Вы можете feature base your code
. Просто добавьте переменную среды и проверьте значение этой переменной в своем коде. Если значение равно true
, выполните код, если нет, то не выполняйте. Мы постоянно делаем это в разных средах, когда выпускаем новые функции, чтобы уменьшить возможное влияние.
- Измените свой .env локально, чтобы иметь эту новую переменную.
- Добавьте свою переменную в ваш app.json (лучшая практика). Это заставит приложение иметь эту переменную перед запуском, поэтому никто не забудет ее добавить.
{ "name": "my app", "description": "My super app", "scripts": {}, "env": { "MY_ENV_VAR": { "required": true } }
3.Проверьте значение переменной в вашем коде:
if (process.env.MY_ENV_VAR === 'true') { //keep in mind these will be strings
//do your logic
}
- Убедитесь, что env var существует в настройках приложения панели управления heroku.
С Уважением
person
David Espino
schedule
13.03.2018
Похоже, это именно то, что мне нужно! Итак, в мой файл app.json я добавил: env: {DEBUG_MODE: {required: true}}, затем я установил свою локальную переменную .env, перейдя в Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды -> Система переменные -> Новый... и затем добавление DEBUG_MODE, установленное в true. Однако выполнение console.log('режим отладки: ' + process.env.DEBUG_MODE) выводит режим отладки: undefined. Должен ли я устанавливать переменную env локально где-то еще?
- person jomak73; 13.03.2018
Ничего, просто перезапустил окно командной строки, и теперь оно показывает правильное значение для DEBUG_MODE! Спасибо!!
- person jomak73; 13.03.2018