Пример проекта 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