Локальные и производственные переменные ENV с помощью Expo React Native

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

*Вот как настроить переменные env для различных окружений в Expo:
*

  1. Создайте файл app.config.js в корне вашего репозитория.
  2. Наполните файл, он должен выглядеть примерно так:

import ‘dotenv/config’;

export default {
name: 'APP_NAME',
version: '1.0.0',
extra: {
environment: 'dev'
},
};

  1. Вызовите переменную. Теперь, когда мы запускаем наше приложение, мы можем получить доступ к переменной окружения, сделав следующее:

import Constants from 'expo-constants';
export default function App(props) {
console.log("props.environment: ", props.environment)
}
App.defaultProps = {
environment: Constants.manifest.extra.environment,
};

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

Я помещаю свою переменную в Dockerfile, который Google Cloud использует для сборки моего приложения:

RUN ENVIRONMENT=prod expo build:web

Но вы можете добавить ENVIRONMENT=prod везде, где вы собираете свое приложение.

  1. Обновите app.config.js, чтобы сделать переменные динамическими в зависимости от окружения.

import 'dotenv/config';
if (process.env.ENVIRONMENT === 'prod') {
export default {
name: 'APP_NAME',
version: '1.0.0',
extra: {
environment: 'prod'
},
};
} else {
export default {
name: 'APP_NAME',
version: '1.0.0',
extra: {
environment: 'dev'
},
};
}

Здесь мы проверяем переменную ENVIRONMENT, а затем можем обновить дополнительные переменные в зависимости от того, где мы используем наше приложение. Когда мы развернем наше приложение, оно будет использовать переменные, определенные в верхнем разделе.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *