Изучение переменных среды в TypeScript: подробное руководство

Переменные среды играют решающую роль в настройке и развертывании приложения. Они позволяют разработчикам хранить конфиденциальную информацию и настраивать поведение своих приложений без жесткого кодирования значений в кодовой базе. В этой статье блога мы рассмотрим различные методы работы с переменными среды в TypeScript, а также приведем примеры кода, иллюстрирующие каждый подход.

  1. Использование процесса.env:
    Самый простой и распространенный способ доступа к переменным среды в TypeScript — через объект process.env. Вот пример:
const apiKey = process.env.API_KEY;
const databaseURL = process.env.DATABASE_URL;
  1. Пакет dotenv:
    Пакет dotenvупрощает процесс загрузки переменных среды из файла .env. Установите пакет с помощью npm или Yarn, создайте файл .envи загрузите переменные, как показано ниже:
import dotenv from 'dotenv';
dotenv.config();
const apiKey = process.env.API_KEY;
const databaseURL = process.env.DATABASE_URL;
  1. Пользовательский файл конфигурации:
    Вы можете создать собственный файл конфигурации для управления переменными среды. Этот подход позволяет вам определять значения по умолчанию и указывать различные конфигурации для разных сред (например, разработки, подготовки, производства). Вот пример:
interface Config {
  apiKey: string;
  databaseURL: string;
}
const config: Config = {
  apiKey: process.env.API_KEY || 'defaultApiKey',
  databaseURL: process.env.DATABASE_URL || 'defaultDatabaseURL',
};
  1. Перечисления TypeScript.
    Использование перечислений TypeScript может обеспечить безопасность типов и улучшить читаемость кода при работе с переменными среды. Вот пример:
enum Environment {
  Development = 'development',
  Staging = 'staging',
  Production = 'production',
}
const currentEnvironment: Environment = process.env.NODE_ENV as Environment;
  1. Проверка во время выполнения:
    Чтобы убедиться, что необходимые переменные среды присутствуют и имеют допустимые значения, вы можете выполнить проверку во время выполнения. Вот пример использования модуля assert:
import assert from 'assert';
assert(process.env.API_KEY, 'API_KEY environment variable is required');
assert(process.env.DATABASE_URL, 'DATABASE_URL environment variable is required');

В этой статье мы рассмотрели несколько методов работы с переменными среды в TypeScript. Мы рассмотрели доступ к переменным через process.env, использование пакета dotenv, создание собственного файла конфигурации, использование перечислений TypeScript и выполнение проверки во время выполнения. Понимая эти методы, вы сможете эффективно управлять переменными среды и использовать их в своих проектах TypeScript, повышая гибкость и безопасность.