Пример проекта NestJS на базе Deno v2
-
Клонируйте репозиторий:
git clone https://github.com/merdernoty/deno2-nestjs-starter.git cd deno2-nestjs-starter
-
Установите зависимости и зафиксируйте замки (рекомендуется):
deno cache --lock=lock.json --lock-write src/main.ts
-
Запустите приложение в режиме разработки:
deno run --import-map=import_map.json \ --allow-env \ --allow-read \ --allow-net \ --unstable \ src/main.ts
Или используйте задачу из
deno.json
:deno task dev
-
Перейдите в браузере по адресу:
http://localhost:3000
deno2-nestjs-starter/
├── src/
│──── modules/ # папка модулей
│────── users/ # тестовый пример модуля
│───────── dto
│───────── entities
│───────── users.controller.ts
│───────── users.module.ts
│───────── users.service
│ ├── app.module.ts # главный модуль NestJS
│ ├── main.ts # точка входа
│ └── ... # остальные модули, контроллеры и сервисы
├── import_map.json # маппинг URL-модулей на локальные пути
├── deno.json # конфигурация Deno (tasks, lock, import_map)
├── lock.json # зафиксированные хэши зависимостей
└── README.md # этот файл
- import_map.json — карта импорта внешних зависимостей
- lock.json — зафиксированные версии и хэши модулей
- deno.json — задачи (
dev
,start
) и параметры запуска
deno task dev
— запуск в режиме разработки с горячей перезагрузкойdeno cache src/main.ts
— загрузка и кеширование зависимостейdeno fmt
— автоформатирование кодаdeno lint
— проверка стиля и потенциальных ошибокdeno test
— запуск тестов
Почему NestJS на Deno? Используя Deno, мы получаем встроенную безопасность прав доступа, современный движок V8 и единый бинарник без внешних зависимостей.
Как добавить новую зависимость?
- Импортируйте её по URL в
deps.ts
или напрямую в коде. - Выполните
deno cache
илиdeno cache --lock=lock.json --lock-write
.
Как зафиксировать версии? Используйте --lock=lock.json
и --lock-write
при первом кэшировании.
MIT © merdernoty