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