Среда выполнения
Функциональность, связанная с системой, управление процессами и наблюдаемость.
Например, Deno.mainModule, Deno.exit, Deno.cwd
функция Deno.addSignalListener
addSignalListener(
signal: Signal,
handler: () => void,
): voidРегистрирует указанную функцию как обработчик события указанного сигнала.
Deno.addSignalListener(
"SIGTERM",
() => {
console.log("SIGTERM!")
}
);
Примечание: В Windows поддерживаются только "SIGINT" (CTRL+C), "SIGBREAK" (CTRL+Break), "SIGTERM", "SIGQUIT", "SIGHUP" и "SIGWINCH".
Параметры
signal: Signal handler: () => void Возвращаемый тип
void функция Deno.chdir
chdir(directory: string | URL): voidИзменяет текущий рабочий каталог на указанный путь.
Deno.chdir("/home/userA");
Deno.chdir("../userB");
Deno.chdir("C:\\Program Files (x86)\\Java");
Выбрасывает исключение Deno.errors.NotFound, если каталог не найден.
Выбрасывает исключение Deno.errors.PermissionDenied, если у пользователя нет прав операционной системы на доступ к файлам.
Требуется разрешение allow-read.
Параметры
directory: string | URL Возвращаемый тип
void функция Deno.cwd
cwd(): stringВозвращает строку, представляющую текущий рабочий каталог.
Если к текущему каталогу можно обратиться по нескольким путям (из-за символических ссылок), cwd() может вернуть любой из них.
const currentWorkingDirectory = Deno.cwd();
Выбрасывает исключение Deno.errors.NotFound, если каталог недоступен.
Возвращаемый тип
string функция Deno.execPath
execPath(): stringВозвращает путь к текущему исполняемому файлу deno.
console.log(Deno.execPath()); // e.g. "/home/alice/.local/bin/deno"
Возвращаемый тип
string функция Deno.exit
exit(code?: number): neverЗавершает процесс Deno с необязательным кодом завершения.
Если код завершения не указан, Deno завершится с кодом возврата 0.
В контексте рабочего потока это закрывает текущий рабочий поток с помощью внутренней операции закрытия рабочих потоков Deno. При этом свойство self.close текущего объекта не вызывается.
Deno.exit(5);
Параметры
code: number Возвращаемый тип
never функция Deno.gid
gid(): number | nullВозвращает идентификатор группы процесса на платформах POSIX. В Windows возвращает null.
console.log(Deno.gid());
Требуется разрешение allow-sys.
Возвращаемый тип
number | null функция Deno.hostname
hostname(): stringВозвращает hostname компьютера, на котором запущен процесс Deno.
console.log(Deno.hostname());
Требуется разрешение allow-sys.
Возвращаемый тип
string функция Deno.loadavg
loadavg(): number[]Возвращает массив со средними значениями загрузки за 1, 5 и 15 минут. Средняя загрузка — это показатель использования ЦП и операций ввода-вывода за последние одну, пять и 15 минут, представленный дробным числом. Ноль означает отсутствие нагрузки. В Windows все три значения всегда одинаковы и представляют текущую нагрузку, а не средние значения за 1, 5 и 15 минут.
console.log(Deno.loadavg()); // e.g. [ 0.71, 0.44, 0.44 ]
Требуется разрешение allow-sys.
В Windows нет API для получения этой информации, поэтому этот метод возвращает [ 0, 0, 0 ].
Возвращаемый тип
number[] функция Deno.memoryUsage
memoryUsage(): MemoryUsageВозвращает объект с описанием использования памяти процессом Deno и подсистемой V8, измеряемого в байтах.
Возвращаемый тип
функция Deno.osRelease
osRelease(): stringВозвращает версию выпуска операционной системы.
console.log(Deno.osRelease());
Требуется разрешение allow-sys. Рассматривается возможность переноса в Deno.build или Deno.versions, а также вопрос о том, следует ли использовать зависимость sys-info, что может быть нежелательно.
Возвращаемый тип
string функция Deno.osUptime
osUptime(): numberВозвращает время работы операционной системы в секундах.
console.log(Deno.osUptime());
Требуется разрешение allow-sys.
Возвращаемый тип
number функция Deno.refTimer
refTimer(id: number | NodeJS.Timeout): voidНастраивает таймер указанного id так, чтобы он не позволял циклу событий завершиться.
Параметры
id: number | NodeJS.Timeout Возвращаемый тип
void функция Deno.removeSignalListener
removeSignalListener(
signal: Signal,
handler: () => void,
): voidУдаляет указанный обработчик сигнала, зарегистрированный с помощью Deno.addSignalListener.
const listener = () => {
console.log("SIGTERM!")
};
Deno.addSignalListener("SIGTERM", listener);
Deno.removeSignalListener("SIGTERM", listener);
Примечание: В Windows поддерживаются только "SIGINT" (CTRL+C), "SIGBREAK" (CTRL+Break), "SIGTERM", "SIGQUIT", "SIGHUP" и "SIGWINCH".
Параметры
signal: Signal handler: () => void Возвращаемый тип
void функция Deno.systemMemoryInfo
systemMemoryInfo(): SystemMemoryInfoОтображает общий объем свободной и используемой физической памяти и памяти подкачки в системе, а также буферы и кэш, используемые ядром.
Это аналог команды free в Linux
console.log(Deno.systemMemoryInfo());
Требуется разрешение allow-sys.
Возвращаемый тип
функция Deno.uid
uid(): number | nullВозвращает идентификатор пользователя процесса на платформах POSIX. В Windows возвращает null.
console.log(Deno.uid());
Требуется разрешение allow-sys.
Возвращаемый тип
number | null функция Deno.unrefTimer
unrefTimer(id: number | NodeJS.Timeout): voidНастраивает таймер указанного id так, чтобы он не препятствовал завершению цикла событий.
Параметры
id: number | NodeJS.Timeout Возвращаемый тип
void интерфейс Deno.Env
Интерфейс с методами для взаимодействия с переменными окружения процесса.
Переменные окружения также можно загрузить из файла .env, указав флаг --env-file при запуске программы Deno:
deno run --env-file=.env --allow-env main.ts
Если --env-file указан без значения, по умолчанию выполняется загрузка .env из текущего рабочего каталога:
deno run --env-file --allow-env main.ts
Подробнее см. в документации Deno.
Методы
get(key: string): string | undefined Получает значение переменной окружения.
Возвращает undefined, если указанная переменная окружения не определена.
console.log(Deno.env.get("HOME")); // e.g. outputs "/home/alice"
console.log(Deno.env.get("MADE_UP_VAR")); // outputs undefined
Требуется разрешение allow-env.
set(
key: string,
value: string,
): void Задает значение переменной окружения.
Deno.env.set("SOME_VAR", "Value");
Deno.env.get("SOME_VAR"); // outputs "Value"
Требуется разрешение allow-env.
delete(key: string): void Удаляет значение переменной окружения.
Deno.env.set("SOME_VAR", "Value");
Deno.env.delete("SOME_VAR"); // outputs "undefined"
Требуется разрешение allow-env.
has(key: string): boolean Проверяет, задана ли переменная окружения.
Deno.env.set("SOME_VAR", "Value");
Deno.env.has("SOME_VAR"); // outputs true
Требуется разрешение allow-env.
toObject(): { [index: string]: string; } Возвращает снимок переменных окружения на момент вызова в виде простого объекта с ключами и значениями.
Deno.env.set("TEST_VAR", "A");
const myEnv = Deno.env.toObject();
console.log(myEnv.SHELL);
Deno.env.set("TEST_VAR", "B");
console.log(myEnv.TEST_VAR); // outputs "A"
Требуется разрешение allow-env.
интерфейс Deno.MemoryUsage
Свойства
rss: number Количество байтов в резидентном наборе текущего процесса Deno, то есть объем памяти, занимаемой в основной памяти (ОЗУ).
heapTotal: number Общий размер кучи V8 в байтах.
heapUsed: number Объем используемой V8 кучи в байтах.
external: number Память в байтах, связанная с объектами JavaScript за пределами изолята JavaScript.
интерфейс Deno.SystemMemoryInfo
Информация, возвращаемая при вызове Deno.systemMemoryInfo.
Свойства
total: number Общий объем установленной памяти в байтах.
free: number Объем неиспользуемой памяти в байтах.
available: number Оценка объема памяти в байтах, доступной для запуска новых приложений без использования подкачки. В отличие от данных, предоставляемых полями cache или free, это поле учитывает кэш страниц, а также то, что не вся освобождаемая память будет освобождена, поскольку некоторые элементы используются.
buffers: number Память, используемая буферами ядра.
cached: number Память, используемая кэшем страниц и slab-аллокаторами.
swapTotal: number Общий объем памяти подкачки.
swapFree: number Объем неиспользуемой памяти подкачки.
псевдоним типа Deno.Signal
Сигналы операционной системы, которые можно прослушивать или отправлять подпроцессам. Набор сигналов и их стандартное поведение зависят от операционной системы.
Определение
"SIGABRT"
| "SIGALRM"
| "SIGBREAK"
| "SIGBUS"
| "SIGCHLD"
| "SIGCONT"
| "SIGEMT"
| "SIGFPE"
| "SIGHUP"
| "SIGILL"
| "SIGINFO"
| "SIGINT"
| "SIGIO"
| "SIGPOLL"
| "SIGUNUSED"
| "SIGKILL"
| "SIGPIPE"
| "SIGPROF"
| "SIGPWR"
| "SIGQUIT"
| "SIGSEGV"
| "SIGSTKFLT"
| "SIGSTOP"
| "SIGSYS"
| "SIGTERM"
| "SIGTRAP"
| "SIGTSTP"
| "SIGTTIN"
| "SIGTTOU"
| "SIGURG"
| "SIGUSR1"
| "SIGUSR2"
| "SIGVTALRM"
| "SIGWINCH"
| "SIGXCPU"
| "SIGXFSZ"
переменная Deno.args
Возвращает аргументы командной строки, переданные программе.
Рассмотрим следующий вызов Deno из командной строки:
deno eval "console.log(Deno.args)" Sushi Maguro Hamachi
Тогда Deno.args будет содержать:
[ "Sushi", "Maguro", "Hamachi" ]
Если вам нужен структурированный способ разбора аргументов, воспользуйтесь parseArgs() из стандартной библиотеки Deno.
Тип
string[] переменная Deno.build
Информация о сборке текущей среды выполнения Deno.
Не рекомендуется создавать в коде ветвления на основе этой информации, поскольку со временем могут измениться предположения о доступных возможностях в разных средах сборки. Разработчикам следует отдельно проверять наличие функций, которые они планируют использовать.
Эта информация предназначена для ведения журналов и отладки.
Свойства
target: string Целевая тройка LLVM — сочетание ${arch}-${vendor}-${os}, определяющее конкретную цель сборки, для которой была собрана текущая среда выполнения.
arch: "x86_64" | "aarch64" Архитектура набора команд, для которой был собран интерфейс командной строки Deno.
os:
"darwin"
| "linux"
| "android"
| "windows"
| "freebsd"
| "netbsd"
| "aix"
| "solaris"
| "illumos"
Операционная система, для которой был собран интерфейс командной строки Deno. "darwin" также известна как OSX или MacOS.
standalone: boolean vendor: string Производитель компьютера, для которого был собран интерфейс командной строки Deno.
env: string Необязательные флаги среды, заданные для этой сборки интерфейса командной строки Deno.
переменная Deno.exitCode
Код завершения процесса Deno.
Если код завершения не задан, Deno будет считать кодом возврата 0.
При задании кода завершения необходимо указать число или строку, не являющуюся NaN; в противном случае будет выброшено исключение TypeError.
console.log(Deno.exitCode); //-> 0
Deno.exitCode = 1;
console.log(Deno.exitCode); //-> 1
Тип
number переменная Deno.mainModule
URL модуля точки входа, указанного в командной строке. Требуется разрешение на чтение для CWD.
Дополнительную информацию см. в ImportMeta.
Тип
string переменная Deno.noColor
Отражает значение переменной среды NO_COLOR на момент запуска программы.
Если значение равно true, интерфейс командной строки Deno попытается не отправлять коды цвета в stderr или stdout; другие программы командной строки также должны учитывать это значение.
Тип
boolean переменная Deno.pid
Идентификатор текущего процесса этого экземпляра интерфейса командной строки Deno.
console.log(Deno.pid);
Тип
number переменная Deno.ppid
Идентификатор родительского процесса этого экземпляра интерфейса командной строки Deno.
console.log(Deno.ppid);
Тип
number переменная Deno.version
Информация о версии текущей среды выполнения интерфейса командной строки Deno.
Не рекомендуется создавать в коде ветвления на основе этой информации, поскольку со временем могут измениться предположения о доступных возможностях в разных средах сборки. Разработчикам следует отдельно проверять наличие функций, которые они планируют использовать.
Эта информация предназначена для ведения журналов и отладки.
Свойства
deno: string Версия интерфейса командной строки Deno. Например: "1.26.0".
v8: string Версия V8, используемая Deno. Например: "10.7.100.0".
V8 — это базовая платформа среды выполнения JavaScript, на которой построен Deno.
typescript: string Версия TypeScript, используемая Deno. Например: "4.8.3".
Проверяющая типы версия TypeScript и языковой сервер встроены в интерфейс командной строки Deno.
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/deno/runtime