Переменные окружения
Существует несколько способов использования переменных окружения в Deno:
Встроенные переменные Deno.env
Движок Deno предоставляет встроенную поддержку переменных окружения с Deno.env.
Deno.env имеет методы получения и установки. Вот пример использования:
Deno.env.set("FIREBASE_API_KEY", "examplekey123");
Deno.env.set("FIREBASE_AUTH_DOMAIN", "firebasedomain.com");
console.log(Deno.env.get("FIREBASE_API_KEY")); // examplekey123
console.log(Deno.env.get("FIREBASE_AUTH_DOMAIN")); // firebasedomain.com
console.log(Deno.env.has("FIREBASE_AUTH_DOMAIN")); // true
.env-файл
Deno поддерживает .env файлы. Вы можете заставить Deno читать переменные окружения из .env, используя флаг --env-file: deno run --env-file <script>. По умолчанию он будет читать .env; если вам нужно загрузить переменные окружения из другого файла, вы можете указать этот файл в качестве параметра к флагу. Кроме того, вы можете передать несколько флагов --env-file (например, deno run --env-file=.env.one --env-file=.env.two --allow-env <script>) для загрузки переменных из нескольких файлов.
Если в одном .env файле есть несколько объявлений одной и той же переменной окружения, применяется первое вхождение. Однако, если одна и та же переменная определена в нескольких .env файлах (используя несколько аргументов --env-file), приоритет имеет значение из последнего указанного файла. Это означает, что будет применено первое вхождение, найденное в последнем указанном .env файле.
В качестве альтернативы, пакет dotenv в стандартной библиотеке также загрузит переменные окружения из .env.
Допустим, у вас есть .env файл, который выглядит следующим образом:
GREETING="Hello, world."
Импортируйте модуль load для автоматического импорта из .env файла в среду процесса.
import "jsr:@std/dotenv/load";
console.log(Deno.env.get("GREETING")); // "Hello, world."
Дополнительная документация по обработке .env доступна в документации @std/dotenv.
std/cli
Стандартная библиотека Deno содержит std/cli модуль для парсинга аргументов командной строки. Обратитесь к документации модуля для получения справочной информации и примеров.
Специальные переменные окружения
Движок Deno имеет эти специальные переменные окружения.
| имя | описание |
|---|---|
| DENO_AUTH_TOKENS | Список значений токенов доступа и хостов, разделенных точкой с запятой, для использования при получении удаленных модулей из частных репозиториев (например, abcde12345@deno.land;54321edcba@github.com) |
| DENO_TLS_CA_STORE | Список магазинов сертификатов, упорядоченных по приоритету, разделённые запятыми. Возможные значения: system, mozilla. По умолчанию mozilla. |
| DENO_CERT | Загрузка сертификата центра сертификации из файла в формате PEM |
| DENO_DIR | Укажите каталог кеша |
| DENO_INSTALL_ROOT | Укажите выходной каталог для deno install (по умолчанию $HOME/.deno/bin) |
| DENO_REPL_HISTORY | Укажите путь к файлу истории REPL. Файл истории отключен, если значение пустое (по умолчанию $DENO_DIR/deno_history.txt) |
| DENO_NO_PACKAGE_JSON | Отключает автоматическое разрешение package.json
|
| DENO_NO_PROMPT | Устанавливается для отключения запросов на разрешение при доступе (альтернатива передаче --no-prompt при вызове) |
| DENO_NO_UPDATE_CHECK | Устанавливается для отключения проверки наличия новой версии Deno |
| DENO_V8_FLAGS | Укажите параметры командной строки V8 |
| DENO_JOBS | Количество параллельных рабочих процессов, используемых для флага --parallel с подкомандой test.По умолчанию — количество доступных процессоров. |
| DENO_WEBGPU_TRACE | Путь к каталогу для вывода отладочной информации WebGPU (WGPU trace) при использовании API WebGPU |
| DENO_WEBGPU_BACKEND | Выберите используемый WebGPU backend или список backends, разделённый запятыми, в порядке приоритета. Возможные значения: vulkan, dx12, metal, или opengl
|
| HTTP_PROXY | Адрес прокси для HTTP-запросов (загрузка модулей, fetch) |
| HTTPS_PROXY | Адрес прокси для HTTPS-запросов (загрузка модулей, fetch) |
| NPM_CONFIG_REGISTRY | URL для использования npm registry. |
| NO_COLOR | Установите для отключения цвета |
| NO_PROXY | Список хостов, для которых не используется прокси (загрузка модулей, fetch), разделённых запятыми |
© 2018–2024 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/env_variables