deno run
Использование
Запуск локального файла:
deno run main.ts
Подкоманду run можно не указывать — можно просто использовать deno <file>:
deno main.ts
По умолчанию Deno запускает программы в песочнице без доступа к диску и сети, а также без возможности запускать подпроцессы. Это связано с тем, что среда выполнения Deno безопасна по умолчанию. Необходимые разрешения можно предоставить или запретить с помощью флагов --allow-* и --deny-*.
Примеры разрешений
Предоставить разрешение на чтение с диска и прослушивание сети:
deno run --allow-read --allow-net server.ts
Предоставить разрешение на чтение файлов с диска, включённых в список разрешённых:
deno run --allow-read=/etc server.ts
Предоставить все разрешения не рекомендуется; используйте только для тестирования:
deno run -A server.ts
Если проекту требуется несколько флагов безопасности, рассмотрите возможность использовать deno task для их выполнения.
Отслеживание изменений
Чтобы отслеживать изменения файлов и автоматически перезапускать процесс, используйте флаг --watch. Встроенный в Deno механизм отслеживания изменений перезапустит приложение сразу после изменения файлов.
Обязательно укажите флаг перед именем файла, например:
deno run --allow-net --watch server.ts
Механизм отслеживания изменений Deno будет сообщать об изменениях в консоли и предупреждать об ошибках, возникающих во время работы.
Тот же флаг --watch также поддерживается командами deno test, deno serve и deno bench.
При перезапуске процесса механизм отслеживания изменений сначала отправляет SIGTERM, чтобы сработали обработчики событий unload и хуки process.exit, а затем ждёт 500 мс перед принудительным завершением. Это даёт коду корректного завершения время освободить ресурсы между перезапусками.
Запуск скрипта package.json
Скрипты package.json можно выполнять с помощью команды deno task.
Запуск кода из stdin
Код можно передать через stdin и сразу выполнить:
echo "console.log('hello')" | deno run -
Остановка выполнения
Чтобы остановить команду run, используйте ctrl + c.
deno run [OPTIONS] [SCRIPT_ARG]...Запуск программы на JavaScript или TypeScript, задачи или скрипта.
По умолчанию все программы запускаются в песочнице без доступа к диску и сети, а также без возможности запускать подпроцессы.
deno run https://docs.deno.com/hello_world.ts
Предоставить разрешение на чтение с диска и прослушивание сети:
deno run --allow-read --allow-net jsr:@std/http/file-server
Предоставить разрешение на чтение файлов с диска, включённых в список разрешённых:
deno run --allow-read=/etc jsr:@std/http/file-server
Предоставить все разрешения:
deno run -A jsr:@std/http/file-server
Укажите имя файла «-», чтобы прочитать файл из stdin.
curl https://docs.deno.com/hello_world.ts | deno run -
Параметры проверки типов
--check<CHECK_TYPE>необязательно
Включить проверку типов. Эта подкоманда по умолчанию не проверяет типы; передайте --check=all, чтобы также проверять удалённые модули. В качестве альтернативы используйте подкоманду «deno check».
--no-check<NO_CHECK_TYPE>необязательно
Пропустить проверку типов. Если задано значение «remote», диагностические ошибки удалённых модулей будут игнорироваться.
Параметры управления зависимостями
--cached-onlyТребовать, чтобы удалённые зависимости уже находились в кэше.
--frozen<BOOLEAN>необязательно
Завершить работу с ошибкой, если lock-файл устарел.
--import-map<FILE>
Загрузить файл import map из локального файла или удалённого URL.
--lock<FILE>необязательно
Проверить указанный lock-файл. (Если значение не задано, по умолчанию используется «./deno.lock».)
--no-lockОтключить автоматический поиск 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-пакетов.
Параметры
--allow-scripts<PACKAGE>необязательно
Разрешить выполнение скриптов жизненного цикла npm для указанных пакетов. Примечание: скрипты выполняются только при использовании каталога node_modules (--node-modules-dir).
--cert<FILE>
Загрузить центр сертификации из файла в кодировке PEM.
--conditions<conditions>
Используйте этот аргумент, чтобы задать пользовательские условия для экспорта npm-пакетов. Также можно использовать переменную окружения DENO_CONDITIONS. .
--config, -c<FILE>
Настроить различные аспекты Deno, включая TypeScript, линтинг и форматирование кода. Обычно файл конфигурации называется deno.json или deno.jsonc и обнаруживается автоматически; в этом случае этот флаг не требуется.
--coverage<DIR>необязательно
Собрать данные профиля покрытия в DIR. Если DIR не указан, используется «coverage/». Этот параметр также можно задать с помощью переменной окружения DENO_COVERAGE_DIR.
--cpu-profЗапустить профилировщик CPU V8 при старте и записать профиль на диск при завершении. По умолчанию профили записываются в текущий каталог.
--cpu-prof-dir<DIR>
Каталог для записи профилей CPU V8. Неявно включает --cpu-prof.
--cpu-prof-flamegraphСоздать SVG-флеймграф вместе с профилем CPU.
--cpu-prof-interval<MICROSECONDS>
Интервал выборки для профилирования CPU в микросекундах (по умолчанию: 1000).
--cpu-prof-mdСоздать понятный человеку отчёт в формате Markdown вместе с профилем CPU.
--cpu-prof-name<NAME>
Имя файла профиля CPU (по умолчанию: CPU.
--env-file<FILE>необязательно
Загрузить переменные окружения из локального файла. Используется только первая переменная окружения с заданным ключом. Существующие переменные окружения процесса не перезаписываются, поэтому, если переменные с такими же именами уже существуют в окружении, их значения сохраняются. Если в файле .env для одной переменной окружения указано несколько значений, применяется первое найденное. Это определяется порядком файлов, переданных в качестве аргументов.
--ext<ext>
Задать тип содержимого указанного файла.
--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-code-cacheОтключить кэш кода V8.
--no-configОтключить автоматическую загрузку файла конфигурации.
--preload<FILE>
Список файлов, которые будут выполнены до основного модуля.
--require<FILE>
Список модулей CommonJS, которые будут выполнены до основного модуля.
--seed<NUMBER>
Задать начальное значение генератора случайных чисел.
--tunnel, -t<tunnel>необязательно
Выполнять задачи через туннель к Deno Deploy.
Создать защищённое соединение между локальным компьютером и Deno Deploy, обеспечив доступ к централизованным переменным окружения, журналированию и публикации данных из локальной среды в общедоступном интернете.
--use-env-proxyИспользовать HTTP_PROXY, HTTPS_PROXY и NO_PROXY для node:http/node:https.
--v8-flags<V8_FLAGS>необязательно
Чтобы увидеть список всех доступных флагов, используйте --v8-flags=--help. Флаги также можно задать с помощью переменной окружения DENO_V8_FLAGS. Флаги, заданные этим параметром, добавляются после флагов из переменной окружения DENO_V8_FLAGS.
Параметры отладки
--inspect<HOST_PORT>необязательно
Активировать инспектор на host:port [по умолчанию: 127.0.0.1:9229]. Host и port указывать необязательно. Если указать порт 0, будет назначен случайный свободный порт.
--inspect-brk<HOST_PORT>необязательно
Активировать инспектор на host:port, дождаться подключения отладчика и остановиться в начале пользовательского скрипта.
--inspect-wait<HOST_PORT>необязательно
Активировать инспектор на host:port и дождаться подключения отладчика, прежде чем выполнять пользовательский код.
Параметры отслеживания файлов
--no-clear-screenНе очищать экран терминала в режиме отслеживания изменений.
--watch<FILES>необязательно
Отслеживать изменения файлов и автоматически перезапускать процесс. По умолчанию отслеживаются локальные файлы из графа модулей точки входа. Дополнительные пути можно отслеживать, передав их аргументами этому флагу.
--watch-exclude<FILES>необязательно
Исключить указанные файлы и шаблоны из режима отслеживания изменений.
--watch-hmr<FILES>необязательно
Отслеживать изменения файлов и выполнять горячую замену модулей. Если горячая замена не удастся, процесс будет перезапущен. По умолчанию отслеживаются локальные файлы из графа модулей точки входа. Дополнительные пути можно отслеживать, передав их аргументами этому флагу.
Последнее обновление:
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/run