Quickstarters

Как создать бэкенд для Deno?

34min

Введение

В этом учебном пособии вы узнаете, как создать бэкенд для Deno с использованием Back4App.

Мы пройдем через каждый шаг, чтобы интегрировать ключевые функции Back4App — базу данных, REST API, аутентификацию пользователей, хранение файлов и живые запросы — в среду Deno.

Вы увидите, как общаться с Back4App через REST-эндпоинты и создать полную инфраструктуру без необходимости управлять серверами самостоятельно.

Когда вы используете Back4App, вы можете пропустить ручную настройку серверов с Deno, экономя время и усилия.

Вы сосредоточитесь на написании более простого кода благодаря стандартной библиотеке Deno и современному подходу.

К концу этого руководства по созданию бэкенда для Deno у вас будет четкий путь для интеграции расширенной безопасности, облачного кода и запланированных задач в ваше приложение Deno.

После завершения этого учебника вы сможете легко запустить сервер, обрабатывать REST API, интегрировать аутентификацию пользователей, хранить файлы и планировать задачи.

Вы также поймете, как управлять своими данными с помощью подхода fetch в Deno, используя REST API Back4App.

Предварительные требования

  • Учетная запись Back4app и новый проект Back4app Начало работы с Back4app. Если у вас нет учетной записи, вы можете создать ее бесплатно. Используйте ссылку выше, чтобы подготовить ваш проект.
  • Установите Deno Вы можете получить Deno на https://deno.land. Установите Deno на вашу операционную систему и подтвердите это с помощью deno --version.
  • Знание основных концепций Deno Таких как модули, файловые системы, deno run --allow-net, или как импортировать модули приложения из стандартной библиотеки.
  • Базовые знания REST API Мы будем использовать вызовы fetch и заголовки типа контента для обработки данных, поэтому убедитесь, что вы знаете основы REST и JSON.

Убедитесь, что у вас есть эти предварительные требования перед началом. Наличие настроенного проекта Back4App и работающей локальной среды Deno позволит вам легко следовать этому учебнику.

Шаг 1 – Создание нового проекта на Back4App и подключение

Создать новый проект

Основой для вашего Deno бэкенда является проект Back4App. Если вы еще не создали его:

  1. Войдите в свою учетную запись Back4App.
  2. Нажмите кнопку “Новое приложение” в вашей панели управления Back4App.
  3. Дайте вашему приложению имя (например, “Deno-Backend-Tutorial”).
Document image


Как только ваш проект будет готов, он появится в вашей панели управления Back4App. Этот проект — это место, где вы будете настраивать базы данных, безопасность и API.

Подключение к Back4App через REST

Поскольку у нас нет Parse SDK для Deno, мы будем использовать REST API конечные точки Back4App. Вы можете найти ID приложения, REST API ключ, и URL сервера в разделе Настройки приложения или Безопасность и ключи вашего приложения.

Document image


На протяжении этого руководства мы будем использовать fetch для отправки запросов из Deno в Back4App. Обязательно включите ваш API-ключ и заголовки типа контента в каждом вызове.

Шаг 2 – Настройка базы данных

На этом шаге вы создадите модель данных на Back4App и будете взаимодействовать с ней, используя REST API из Deno.

Создание модели данных

  1. Перейдите в раздел “База данных” на вашей панели управления Back4App.
  2. Нажмите “Создать новый класс” и назовите его, например, “Todo.”
  3. Добавьте соответствующие столбцы (например, title (String), isCompleted (Boolean)).
Создать новый класс
Создать новый класс


Вы также можете разрешить Parse автоматически создавать эти столбцы при сохранении данных.

Создание модели данных с помощью AI-агента

AI-агент Back4App может разработать вашу схему:

  1. Откройте AI-агента в вашей панели управления Back4App.
  2. Опишите вашу модель данных (например, “Создайте класс Todo с полями title, description и isCompleted.”).
  3. Позвольте агенту сгенерировать схему автоматически.
Document image


Это помогает вам быстро управлять более сложными схемами.

Чтение и запись данных с использованием REST API

Из Deno вы можете запустить сервер, вызывая REST-эндпоинты с помощью fetch. Например, чтобы создать Todo:

Text


To fetch Todos:

Text


You can run these with:

Bash


Reading and Writing Data Using GraphQL API

Back4App also provides a GraphQL endpoint: https://parseapi.back4app.com/graphql

Text


Работа с живыми запросами (по желанию)

Живые запросы обновляют вас в реальном времени, но Deno не имеет родной библиотеки Parse LiveQuery. Вы все равно можете настроить функцию живого запроса в вашей панели управления Back4App для других клиентов или использовать WebSocket в Deno для ручной подписки. Для получения дополнительной информации смотрите официальные документы по живым запросам.

Шаг 3 – Применение безопасности с помощью ACL и CLP

Обзор

ACL (Списки управления доступом) и CLP (Разрешения на уровне класса) Back4App защищают ваши данные. Используйте CLP для установки правил по умолчанию для целого класса. Затем используйте ACL для ограничений на уровне объектов.

Настройка разрешений на уровне класса

  1. Откройте раздел базы данных в вашей панели управления Back4App.
  2. Выберите класс (например, “Todo”).
  3. Перейдите на вкладку разрешений на уровне класса.
  4. Включите или отключите доступ на чтение/запись для общественности или для аутентифицированных пользователей по мере необходимости.
Document image


Настройка ACL

При создании или обновлении объекта через REST вы можете включить атрибут ACL в тело запроса. Например:

Text


Этот пример позволяет только роли “Администраторы” читать или записывать. Доступ для общественности отключен.

Шаг 4 – Написание функций облачного кода

Почему облачный код

Облачный код – это место, где вы храните безопасную серверную логику. Вы не управляете серверами самостоятельно. Вы можете добавлять проверки или триггеры для конкретных классов.

Пример функции облачного кода

Вы можете определить облачную функцию (на JavaScript) и развернуть ее в своем приложении. Например, функция для проверки длины текста может выглядеть так:

Text


Развертывание

Вы можете развернуть код через Back4App CLI или панель облачного кода в вашей панели управления Back4App.

NPM в облачном коде

Вы можете импортировать внешние библиотеки с помощью require(). После развертывания серверная среда будет их выполнять. Это полезно для сложных задач, но помните, что выполнение их из Deno отделено от вашей среды облачного кода на Back4App.

Шаг 5 – Настройка аутентификации

Включить аутентификацию

Back4App использует класс Parse User для аутентификации. Пока вы работаете с Deno, вы можете вызывать REST-эндпоинты для управления пользователями.

Регистрация и вход с использованием REST

Text


Социальный вход

Вы можете настроить Google, Facebook, Apple и других провайдеров на Back4App. Затем вы будете вызывать специальные конечные точки с токенами OAuth. См. документацию по социальному входу Back4App для получения подробной информации.

Шаг 6 – Обработка хранения файлов

Загрузка и получение файлов

Чтобы загрузить файлы из Deno, используйте POST-запрос к https://parseapi.back4app.com/files/<FILENAME>. Например:

Text


Затем вы можете сохранить URL-адрес полученного файла в своих объектах класса. Этот метод идеально подходит для хранения изображений или документов, пока вы запускаете сервер в Deno.

Шаг 7 – Подтверждение электронной почты и сброс пароля

Обзор

Подтверждение электронной почты обеспечивает легитимный доступ. Сброс пароля помогает пользователям безопасно восстановить доступ.

Настройка панели управления

  1. Включите подтверждение электронной почты в вашей панели управления Back4App в разделе Настройки электронной почты.
  2. Настройте свои шаблоны подтверждения.
  3. Включите сброс пароля и установите предпочитаемый макет электронной почты.

Когда пользователь регистрируется, он получает ссылку для подтверждения, если вы включили проверку электронной почты. Для сброса пароля вызовите конечную точку REST POST /requestPasswordReset.

Шаг 8 – Планирование задач с помощью облачных заданий

Обзор облачных заданий

Облачные задания выполняются периодически без вмешательства человека. Например, вы можете ежедневно удалять старые записи или отправлять регулярные напоминания по электронной почте.

Text


После развертывания этой задачи вы можете запланировать ее в Настройки приложения > Настройки сервера > Фоновая работа на вашей панели управления Back4App.

Шаг 9 – Интеграция вебхуков

Определение

Вебхук – это HTTP-обратный вызов, который срабатывает, когда происходят события, такие как создание или обновление объектов. Вы можете интегрироваться с Slack, Stripe или любым внешним сервисом.

Конфигурация

  1. Откройте “Еще” > “Вебхуки” в панели управления Back4App.
  2. Нажмите “Добавить вебхук” и укажите конечную точку вашего стороннего сервиса.
  3. Установите триггеры или классы, для которых вы хотите отправлять запросы.
Добавление вебхука
Добавление вебхука


Это позволяет внешним системам получать данные всякий раз, когда вы создаете или изменяете объекты в Back4App.

Шаг 10 – Изучение панели администратора Back4App

Введение в панель администратора

Непрофессиональные команды могут использовать эту панель для визуального управления данными. Это упрощает операции CRUD и обзоры данных.

Как включить

  1. Перейдите в панель управления приложением > Дополнительно > Админ-приложение и выберите «Включить админ-приложение».
  2. Создайте администратора для входа.
  3. Установите поддомен для вашего админ-приложения.
Включить админ-приложение
Включить админ-приложение


Затем вы можете войти в админ-приложение для безопасного управления записями.

Заключение

В этом учебном пособии вы узнали, как создать бэкенд для Deno на Back4App. Вы создали модели данных, обработали аутентификацию пользователей, узнали о ACL и CLP для безопасности и запланировали облачные задания.

Вы также увидели, как интегрировать внешние API через вебхуки и как запускать сервер или REST API с помощью команд deno run --allow-net.

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

Следующие шаги:

  • Расширьте ваше приложение Deno с дополнительными конечными точками и сложной логикой с использованием облачного кода.
  • Интегрируйте больше сервисов (например, платежные шлюзы, аналитика) с вашими данными Back4App.
  • Ссылайтесь на официальную документацию Back4App для более глубоких советов по безопасности, производительности и анализу логов.
  • Экспериментируйте с продвинутыми функциями реального времени или хранилищем deno kv, связывая данные между вашей средой выполнения Deno и надежной средой Back4App.

С вашими новыми знаниями вы можете уверенно развернуть безопасный, масштабируемый и насыщенный функциями бэкенд Deno, поддерживаемый Back4App.