Бэкенд Express + Mongoose

views1757
Сложность:

Бэкенд нашего простого Nuxt.js приложения лежит в папке server. Основным файлом приложения является index.js. В нём мы подключаем Express и Mongoose, затем коннектимся к базе данных. Далее идёт подключение маршрутов, которые связаны с моделью Page. В конце файла мы подключаем Nuxt.js в качестве middleware и используем nuxt.render для рендера контента.

В папке model лежит схема модели Page. Мы перечисляем поля из которых будут состоять наши динамические страницы. Например, можно сразу указать тип поля, требования по его наличию и уникальности. Удобно добавлять автоматически добавляемую дату создания документа через Date.now.

В папке routes лежат маршруты, которые связаны с моделью Page. В нашем простейшем приложении это:

  • вывод всех страниц,
  • вывод одной страниц,
  • создание страницы,
  • обновление страницы,
  • удаление страницы.

Поиск одной страницы, которую мы хотим выводить, обновлять или удалять осуществяем по её url. Они у нас уникальные и передаются в пути запроса из фронтенда. Вывод эту задачи в отдельную функцию getPage, которая производит поиск. Если страница не найдена, то возвращается 404 ошибка.

Автор: Александр Дергунов
Опубликовано: 3/27/2021