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!