Начало работы с Deno
Deno (/ˈdiːnoʊ/, произносится dee-no) — это среда выполнения с открытым исходным кодом для JavaScript, TypeScript и WebAssembly с безопасными настройками по умолчанию и удобной для разработчиков средой. Эта страница поможет вам с нуля создать и протестировать работающий проект всего за несколько минут.
Почему Deno?
-
Работает с вашими существующими проектами Node.js. Добавьте Deno в репозиторий с
package.jsonиnode_modules— и всё заработает; по мере миграции смешивайте импортыnpm:с нативными модулями ES. - Современная система модулей. Модули ES с импортом по URL, JSR для типизированных пакетов и рабочие пространства.
-
TypeScript — в первую очередь. Запускайте файлы
.tsнапрямую. Никакогоtsc, этапа сборки или конфигурации. - Безопасность по умолчанию. Код выполняется в песочнице без доступа к файлам, сети и переменным среды, пока вы его не предоставите.
-
Полный набор инструментов без лишних настроек. Встроенные форматтер, линтер, средство запуска тестов, инструменты для бенчмаркинга и многое другое. Ничего не нужно настраивать вручную:
devDependencies.
Используете ИИ-агента для написания кода?
Вставьте это в Claude Code, Codex, Gemini CLI, OpenCode, Cursor, Pi или любого другого используемого вами агента:
Read deno.com/agents.md and set up Deno in this project
deno.com/agents.md — это одностраничное руководство для агентов, пишущих код: в нём объясняется, что такое Deno, от каких привычных подходов стоит отказаться, если агент уже знаком с Node, и как установить навыки Deno для агента, чтобы он учитывал эту информацию в каждом сеансе. Там также описано, как попросить агента перенести существующий проект Node.
Установка Deno
Установите среду выполнения одной командой:
curl -fsSL https://deno.land/install.sh | sh
# pwsh
irm https://deno.land/install.ps1 | iex
Проверьте установку:
deno --version
Другие варианты, включая менеджеры пакетов и Docker, описаны в разделе Установка.
Создание проекта
Создайте новый проект с помощью deno init:
deno init my_project
Будет создан небольшой готовый к запуску проект:
my_project
├── deno.json # project configuration: tasks, imports, lint/fmt settings
├── main.ts # a tiny HTTP server built on Deno.serve
└── main_test.ts # its tests
Файл deno.json содержит задачи, зависимости и настройки инструментов. Представьте, что это package.json и конфигурации ваших инструментов, собранные в одном файле.
Запуск
$ cd my_project
$ deno -N main.ts
Listening on http://localhost:8000/
Обратите внимание на -N (сокращение от --allow-net). Deno безопасен по умолчанию: код не может обращаться к сети, файловой системе или переменным среды, пока вы не предоставите ему доступ. Откройте URL, чтобы увидеть ответ.
main.ts написан на TypeScript и запустился напрямую: никакого tsc и этапа сборки. Он также построен на стандартном для веба Deno.serve с Request/Response, поэтому вы изучаете саму платформу, а не фреймворк.
Тестирование
В проект уже включены тесты. Запустите их с помощью deno test. Средство запуска тестов встроено, поэтому ничего устанавливать не нужно:
$ deno test
running 2 tests from ./main_test.ts
returns html on / ... ok (12ms)
returns json on /api ... ok (0ms)
ok | 2 passed | 0 failed (15ms)
Добавление зависимости
Подключайте пакеты из npm или JSR с помощью deno install:
deno install express # any npm package, like npm install
deno install jsr:@std/assert # the Deno standard library, on JSR
Затем импортируйте пакеты и используйте их:
import { assertEquals } from "@std/assert";
assertEquals(1 + 1, 2);
Использование встроенного набора инструментов
Форматирование, линтинг и многое другое доступны вместе со средой выполнения — ничего настраивать не нужно:
deno fmt # format your code
deno lint # catch problems
deno task # run scripts defined in deno.json
Дальнейшие шаги
- Настройте редактор. Автодополнение, ошибки в коде и форматирование при сохранении.
- Запускайте код. Серверы, задачи, веб-API и отладка.
- Управляйте пакетами. Зависимости, рабочие пространства, публикация.
- Переходите с Node.js. Перенесите существующий проект.
- Примеры и руководства. Идеи для вашего следующего проекта.
Последнее обновление:
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime