Spec-Zone.ru › Deno 2

deno repl

Специальные переменные

В REPL доступны несколько специальных переменных:

Идентификатор Описание
_ Возвращает результат последнего вычисленного выражения
_error Возвращает последнюю возникшую ошибку
›_
Deno 1.14.3
exit using ctrl+d or close()
> "hello world!"
"hello world!"
> _
"hello world!"
> const foo = "bar";
undefined
> _
undefined

Специальные функции

В глобальной области видимости REPL доступны несколько функций:

Функция Описание
clear() Очищает весь экран терминала
close() Закрывает текущий сеанс REPL

Флаг --eval

Флаг --eval позволяет выполнить код в среде выполнения до перехода в REPL. Это удобно, если нужно импортировать код, который часто используется в REPL, или изменить среду выполнения:

›_
deno repl --allow-net --eval 'import { assert } from "jsr:@std/assert@1"'
Deno 1.45.3
exit using ctrl+d, ctrl+c, or close()
> assert(true)
undefined
> assert(false)
Uncaught AssertionError
    at assert (https://jsr.io/@std/assert/1.0.0/assert.ts:21:11)
    at <anonymous>:1:22

Флаг --eval-file

Флаг --eval-file позволяет выполнить код из указанных файлов до перехода в REPL. Как и флаг --eval, он удобен, если нужно импортировать код, который часто используется в REPL, или изменить среду выполнения.

Файлы можно указывать в виде путей или URL. Файлы, указанные как URL, кэшируются и могут быть перезагружены с помощью флага --reload.

Если также указан --eval, файлы --eval-file выполняются до кода --eval.

›_
deno repl --eval-file=https://docs.deno.com/examples/welcome.ts,https://docs.deno.com/examples/local.ts
Download https://docs.deno.com/examples/welcome.ts
Welcome to Deno!
Download https://docs.deno.com/examples/local.ts
Deno 1.45.3
exit using ctrl+d or close()
> local // this variable is defined locally in local.ts, but not exported
"This is a local variable inside of local.ts"

Разрешение относительных путей импорта

Если --eval-file указывает на файл с кодом, содержащий относительные импорты, среда выполнения попытается разрешить импорты относительно текущего рабочего каталога. Она не будет разрешать их относительно расположения файла с кодом. При использовании --eval-file с файлами модулей это может привести к ошибкам "Module not found":

›_
deno repl --eval-file=https://jsr.io/@std/encoding/1.0.0/ascii85.ts
error in --eval-file file https://jsr.io/@std/encoding/1.0.0/ascii85.ts. Uncaught TypeError: Module not found "file:///home/_validate_binary_like.ts".
    at async <anonymous>:2:13
Deno 1.45.3
exit using ctrl+d or close()
>

Автодополнение по Tab

Автодополнение по Tab — важная функция для быстрой навигации в REPL. После нажатия клавиши tab Deno покажет список всех возможных вариантов дополнения.

›_
deno repl
Deno 1.45.3
exit using ctrl+d or close()
> Deno.read
readTextFile      readFile          readDirSync       readLinkSync      readAll           read
readTextFileSync  readFileSync      readDir           readLink          readAllSync       readSync

Сочетания клавиш

Клавиши Действие
Ctrl-A, Home Переместить курсор в начало строки
Ctrl-B, Left Переместить курсор на один символ влево
Ctrl-C Прервать и отменить текущее редактирование
Ctrl-D Если строка пустая, отправить сигнал конца строки
Ctrl-D, Del Если строка не пустая, удалить символ под курсором
Ctrl-E, End Переместить курсор в конец строки
Ctrl-F, Right Переместить курсор на один символ вправо
Ctrl-H, Backspace Удалить символ перед курсором
Ctrl-I, Tab Следующий вариант автодополнения
Ctrl-J, Ctrl-M, Enter Завершить ввод строки
Ctrl-K Удалить текст от курсора до конца строки
Ctrl-L Очистить экран
Ctrl-N, Down Следующее совпадение в истории
Ctrl-P, Up Предыдущее совпадение в истории
Ctrl-R Искать в истории в обратном порядке (Ctrl-S — в прямом порядке, Ctrl-G — отмена)
Ctrl-T Поменять местами предыдущий и текущий символы
Ctrl-U Удалить текст от начала строки до курсора
Ctrl-V, Ctrl-Q Вставить следующий символ как есть, не выполняя связанное с ним действие. Например, чтобы вставить перевод строки при редактировании многострочной записи истории, нажмите Ctrl-V, а затем Ctrl-J (Ctrl-J — управляющий символ ASCII Line Feed)
Ctrl-W Удалить слово перед курсором (границей слова считается пробел)
Ctrl-X Ctrl-U Отменить действие
Ctrl-Y Вставить текст из буфера Yank
Ctrl-Y Вставить текст из буфера Yank (нажмите Meta-Y, чтобы вместо этого вставить следующий фрагмент из буфера Yank)
Ctrl-Z Приостановить выполнение (только Unix)
Ctrl-_ Отменить действие
Meta-0, 1, ..., - Задать цифру аргумента. – начинает отрицательный аргумент.
Meta < Перейти к первой записи в истории
Meta > Перейти к последней записи в истории
Meta-B, Alt-Left Переместить курсор к предыдущему слову
Meta-Backspace Удалить текст от начала текущего слова или, если курсор находится между словами, до начала предыдущего слова
Meta-C Сделать первую букву текущего слова заглавной
Meta-D Удалить следующее слово
Meta-F, Alt-Right Переместить курсор к следующему слову
Meta-L Преобразовать следующее слово в строчные буквы
Meta-T Поменять местами слова
Meta-U Преобразовать следующее слово в заглавные буквы
Meta-Y См. Ctrl-Y
Ctrl-S Вставить новую строку

История DENO_REPL_HISTORY

По умолчанию Deno хранит историю REPL в файле deno_history.txt в каталоге DENO_DIR. Узнать расположение каталога DENO_DIR и других ресурсов можно, выполнив команду deno info.

Чтобы указать, где Deno будет хранить файл истории REPL, можно использовать переменную окружения DENO_REPL_HISTORY. Если задать ей пустое значение, Deno не будет сохранять файл истории.

Использование в командной строке:
deno repl [OPTIONS] [-- [ARGS]...]

Запускает цикл чтения-вычисления-вывода (REPL), позволяющий интерактивно создавать состояние программы в глобальном контексте. Особенно полезен для быстрого прототипирования и проверки фрагментов кода.

Поддерживается TypeScript, однако типы не проверяются — код только транспилируется.

Параметры

--cert<FILE>

Загрузить центр сертификации из файла в кодировке PEM.

--conditions<conditions>

Используйте этот аргумент, чтобы задать пользовательские условия для экспорта npm-пакетов. Также можно использовать переменную окружения DENO_CONDITIONS. .

--config, -c<FILE>

Настроить различные аспекты deno, включая TypeScript, линтинг и форматирование кода. Обычно файл конфигурации называется deno.json или deno.jsonc и обнаруживается автоматически; в этом случае этот флаг не требуется.

--env-file<FILE>необязательно

Загрузить переменные окружения из локального файла. Используется только первая переменная окружения с заданным ключом. Существующие переменные окружения процесса не перезаписываются, поэтому, если в окружении уже есть переменные с такими же именами, их значения сохраняются. Если в файле .env несколько объявлений одной переменной окружения, применяется первое из них. Порядок определяется последовательностью файлов, переданных в аргументах.

--eval<code>

Выполнить указанный код при запуске REPL.

--eval-file<eval-file>

Выполнить указанные файлы как скрипты при запуске REPL. Принимает пути к файлам и URL.

--location<HREF>

Значение globalThis.location, используемое некоторыми веб-API.

--minimum-dependency-age<minimum-dependency-age>

(Нестабильный параметр) Возраст в минутах, длительность в формате ISO-8601 или абсолютная временная метка RFC3339 (например, '120' — два часа, 'P2D' — два дня, '2025-09-16' — дата отсечения, '2025-09-16T12:00:00+00:00' — время отсечения, '0' — отключить).

--no-config

Отключить автоматическую загрузку файла конфигурации.

--preload<FILE>

Список файлов, которые будут выполнены до основного модуля.

--require<FILE>

Список модулей CommonJS, которые будут выполнены до основного модуля.

--seed<NUMBER>

Задать начальное значение генератора случайных чисел.

--v8-flags<V8_FLAGS>необязательно

Чтобы просмотреть список всех доступных флагов, используйте --v8-flags=--help. Флаги также можно задать с помощью переменной окружения DENO_V8_FLAGS. Флаги, заданные этим параметром, добавляются после значений переменной окружения DENO_V8_FLAGS.

Параметры управления зависимостями

--cached-only

Требовать, чтобы удалённые зависимости уже находились в кэше.

--frozen<BOOLEAN>необязательно

Завершить работу с ошибкой, если файл блокировки устарел.

--import-map<FILE>

Загрузить файл карты импорта из локального файла или удалённого URL.

--lock<FILE>необязательно

Проверить указанный файл блокировки. (Если значение не указано, по умолчанию используется "./deno.lock".)

--no-lock

Отключить автоматический поиск файла блокировки.

--no-npm

Не разрешать модули npm.

--no-remote

Не разрешать удалённые модули.

--node-modules-dir<MODE>необязательно

Выбрать режим каталога node_modules для пакетов npm (не путь). Возможные значения: auto (создать локальный каталог node_modules и установить в него пакеты npm), manual (использовать существующий локальный каталог node_modules, не изменяя его), none (не использовать локальный каталог node_modules; разрешать пакеты npm из глобального кэша). Если флаг указан без значения, по умолчанию используется auto.

--node-modules-linker<MODE>

Задать режим компоновщика для пакетов npm (isolated или hoisted).

--reload, -r<CACHE_BLOCKLIST>необязательно

Перезагрузить кэш исходного кода (повторно скомпилировать TypeScript). Если значение не указано, перезагружается всё. Передайте список спецификаторов, разделённых запятыми, чтобы перезагрузить только указанные модули; npm: перезагружает все модули npm; npm:chalk перезагружает один модуль npm; jsr:@std/http/file-server,jsr:@std/assert/assert-equals перезагружает указанные модули.

--vendor<vendor>необязательно

Включить или отключить использование локального каталога vendor для удалённых модулей и каталога node_modules для пакетов npm.

Параметры отладки

--inspect<HOST_PORT>необязательно

Активировать инспектор на хосте и порту [по умолчанию: 127.0.0.1:9229]. Хост и порт указывать необязательно. Если указать порт 0, будет назначен случайный свободный порт.

--inspect-brk<HOST_PORT>необязательно

Активировать инспектор на хосте и порту, дождаться подключения отладчика и остановиться в начале пользовательского скрипта.

--inspect-wait<HOST_PORT>необязательно

Активировать инспектор на хосте и порту и дождаться подключения отладчика перед выполнением пользовательского кода.

Последнее обновление: 12 марта 2026 г.

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/repl

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API