Переменные окружения
Существует несколько способов использования переменных окружения в 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 | Путь к каталогу для вывода отслеживания WGPU при использовании API WebGPU |
| DENO_WEBGPU_BACKEND | Выберите бэкенд, который будет использовать WebGPU, или список бэкэндов, разделенных запятыми, в порядке предпочтения. Возможные значения — vulkan, dx12, metal, или opengl
|
| HTTP_PROXY | Адрес прокси-сервера для HTTP-запросов (загрузка модулей, fetch) |
| HTTPS_PROXY | Адрес прокси-сервера для HTTPS-запросов (загрузка модулей, fetch) |
| NPM_CONFIG_REGISTRY | URL для использования реестра npm. |
| NO_COLOR | Установите для отключения цветного вывода |
| NO_PROXY | Список хостов, разделенных запятыми, для которых не используется прокси-сервер (загрузка модулей, fetch) |
© 2018–2024 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/env_variables