Deno - это безопасная среда выполнения для javascript и машинописного текста. Он был создан Райаном Далем, который стоит за NodeJS. Я написал вступительный пост о Deno, который вы можете найти здесь. Я настоятельно рекомендую проверить это перед этим, чтобы понять, как работает Deno.

Введение

В этом посте мы создадим базовый CRUD, чтобы начать работу с Deno. Мы также будем интегрировать mongo для сохранения наших данных.

Поскольку в Deno нет необходимости в package.json или каких-либо пакетах npm (он использует модули, указанные как URL-адреса или пути к файлам), мы сразу приступим к работе, создав наш server.ts :

Мы импортировали Приложение из URL-адреса модуля и запустили с ним сервер.

Запустите его с помощью: deno run --allow-net server.ts

По умолчанию он запускает сервер на порту 3000. Вы можете перейти по адресу http: // localhost: 3000, чтобы запустить свой сервер.

Хорошо отделить маршруты приложений от главного файла сервера. Давайте добавим файл routes.ts, в котором мы определим все маршруты для наших приложений -

Теперь мы можем импортировать это в наш server.ts:

Перезагрузите сервер. Перейдите к localhost: 3000 / api / posts, и вы увидите hello there напечатанный .

В настоящее время вам необходимо перезапускать сервер при каждом изменении файла. Было бы здорово, если бы у нас было что-то вроде nodemon (пакет, используемый в Node.js для перезапуска сервера) и в Deno. Оказывается, на самом деле существует пакет с именем denon, который служит в Deno точно так же, как nodemon в Node.js.

Итак, прежде чем продолжить, давайте установим denon, запустив:

deno install --allow-read --allow-run --allow-write -f --unstable https://deno.land/x/denon/denon.ts

Теперь вы можете запустить свой сервер с denon run --allow-net server.ts, и denon позаботится о перезапуске сервера при любых изменениях файла.

MongoDB

Создайте файл db.ts и добавьте следующий код:

Это настраивает нашу базу данных локально и создает базу данных с именем identify_db. Позже мы импортируем этот файл в наш контроллер.

Этот пакет mongo на данный момент немного нестабилен и требует для работы определенных флагов. Итак, закройте свой сервер в терминале и перезапустите его с помощью:

denon run --allow-net --allow-plugin --unstable --allow-read --allow-write server.ts

Интерфейс сообщений

Мы также будем использовать интерфейс Post для нашего документа.

Маршруты

Давайте определим все маршруты, которые мы будем использовать в routes.ts:

Мы определим логику для обработчиков событий наших маршрутов в отдельном файле controller.ts, который мы импортировали выше.

Контроллер

Вот код для controller.ts:

Давайте разберем файл контроллера:

  • Мы импортировали экземпляр базы данных и почтовый интерфейс, который мы создали ранее.
  • Затем мы создали коллекцию сообщений внутри нашего node_db.
  • После этого мы определили обработчики для наших разных маршрутов. Мы используем специальные команды mongoDB, такие как find (), findOne (), updateOne () и т. Д., Чтобы управлять базой данных.

Маршруты тестирования

Давайте начнем с сохранения некоторых сообщений, прежде чем применять другие операции.

Идите и попробуйте в клиенте Postman:

ПОЧТА

ПОЛУЧИТЬ

ПОЛУЧИТЬ (одно сообщение)

СТАВИТЬ

УДАЛИТЬ

Вот и все. Мы успешно создали сервер обозначений со всей функциональностью CRUD, а также сохранили данные в mongo. Конечно, есть области, которые можно улучшить, например, добавление обработки ошибок в маршруты, но я оставлю это на ваше усмотрение, ребята.

Вот ссылка на код на github: https://github.com/ATakaSKY/denoMongo

Ресурсы







Https://github.com/Caesar2011/denotrain

Примечание на простом английском

Вы знали, что у нас четыре публикации и канал на YouTube? Вы можете найти все это на нашей домашней странице plainenglish.io - проявите немного любви, подписавшись на наши публикации и подписавшись на наш канал YouTube!