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>необязательно
Активировать инспектор на хосте и порту и дождаться подключения отладчика перед выполнением пользовательского кода.
Последнее обновление:
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/repl