Env variables Flashcards

1
Q

Env variables

A

env files

Переменные окружения (env variables) - переменные, используемые операционной системой и программами для хранения конфигурационных данных. Они хранят информацию, нужную приложению для корректной работы, например, параметры подключения к базе данных, API-ключи, настройки сервера и т.д.

Преимущества использования переменных окружения:

  • безопасность: хранение чувствительной информации (например, токенов, паролей, ключей) вне исходного кода позволяет избежать утечек данных при публикации или совместной работе над проектом;
  • удобство развертывания: при развертывании приложения на различных платформах (например, локально, на сервере или в облаке) можно использовать те же самые переменные окружения, что упрощает процесс настройки и запуска;
  • конфигурация: переменные окружения позволяют легко изменять конфигурацию приложения без изменения исходного кода. Например, можно иметь разные настройки для разработки, тестирования и продакшн-среды.

Основные типы окружений, используемые в процессе разработки:
- разработка (Development): начальная среда, где разработчики пишут и тестируют код;
- тестирование (Staging): промежуточная среда, максимально похожая на продакшн, где код проверяется на наличие ошибок и багов;
- продакшн (Production): окончательная среда, где приложение используется конечными пользователями.

Создание:
Так как чаще всего хранится секретная информация для файлов, то лучше отправить в игнор env

Сохранение токенов авторизации и API-ключей в исходном коде, особенно в публично доступных репозиториях, представляет собой серьёзную угрозу безопасности, поэтому мы будем хранить Authorization token и API-KEY в .env файле. В реальных проектах baseURL также хранится в переменных окужениях.

Переменные окружения в Vite (https://vite.dev/guide/env-and-mode) должны начинаться с VITE_ для доступа к ним в коде.

  1. Создайте в корневой директории проекта файл .env;
  2. Добавьте env files в .gitignore:
    В файл git ignore:
    .env
    .env.local
    .env.development.local
    .env.test.local
    .env.production.local
  3. Внесите в файл .env переменные окружения, заменив XXX на нужные значения из файла common/instance/instance.ts:
    VITE_BASE_URL=https://social-network.samuraijs.com/api/1.1
    VITE_AUTH_TOKEN=XXX
    VITE_API_KEY=XXX

Пишем без кавычек и пробелов
Если создаем переменные окружения на других проектах Next, React и тд, то нам обязательно необходимо перезапустить приложение

  1. В файле common/instance/instance.ts используйте переменные окружения:
    export const instance = axios.create({
    baseURL: import.meta.env.VITE_BASE_URL,
    headers: {
    Authorization: Bearer ${import.meta.env.VITE_AUTH_TOKEN},
    “API-KEY”: import.meta.env.VITE_API_KEY,
    },
    })
How well did you know this?
1
Not at all
2
3
4
5
Perfectly