← Назад ко всем вопросам

Что такое environment variables на фронте?

1️⃣ Как кратко ответить

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

2️⃣ Подробное объяснение темы

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

Зачем нужны environment variables на фронте?

  1. Конфиденциальность: Они позволяют хранить чувствительные данные, такие как API ключи, отдельно от кода, что снижает риск их утечки.
  2. Управление конфигурацией: Позволяют легко переключаться между различными конфигурациями для development, staging и production сред.
  3. Упрощение развертывания: Изменение переменных окружения не требует изменения кода, что упрощает процесс развертывания.

Как это работает?

На фронтенде environment variables обычно определяются на этапе сборки приложения. Это означает, что они не могут быть изменены во время выполнения, как на сервере, а должны быть заданы до того, как приложение будет собрано и развернуто.

Пример использования в React

В React, например, environment variables определяются в файле .env в корне проекта. Переменные, которые должны быть доступны в коде, должны начинаться с REACT_APP_.

Пример файла .env:

REACT_APP_API_URL=https://api.example.com
REACT_APP_API_KEY=1234567890abcdef

Использование в коде:

// Импортируем React
import React from 'react';
​
// Функция компонента, которая использует переменные окружения
function App() {
  // Получаем URL API из переменных окружения
  const apiUrl = process.env.REACT_APP_API_URL;
  // Получаем API ключ из переменных окружения
  const apiKey = process.env.REACT_APP_API_KEY;
​
  // Выводим значения переменных в консоль
  console.log('API URL:', apiUrl);
  console.log('API Key:', apiKey);
​
  // Возвращаем JSX для отображения
  return (
    <div>
      <h1>Environment Variables Example</h1>
      <p>Check the console for environment variables.</p>
    </div>
  );
}
​
// Экспортируем компонент по умолчанию
export default App;
  • process.env.REACT_APP_API_URL и process.env.REACT_APP_API_KEY — это доступ к значениям переменных окружения, определенных в файле .env.
  • Эти переменные используются для конфигурации приложения, например, для указания URL API и ключа доступа.
  • console.log используется для вывода значений переменных в консоль, чтобы убедиться, что они правильно загружены.

Ограничения

  • Переменные окружения на фронтенде не могут быть изменены во время выполнения, так как они встраиваются в код на этапе сборки.
  • Они не обеспечивают полную безопасность, так как после сборки становятся частью клиентского кода и могут быть просмотрены пользователями.

Environment variables на фронте — это мощный инструмент для управления конфигурацией приложения, который помогает сделать код более гибким и безопасным.

Тема: Сборка и tooling
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки