DevGang
Авторизоваться

Создание веб-приложения React с бэкендом Go

Это краткое руководство по созданию и развертыванию веб-приложения с использованием фронтенда React и бэкенда Go. Мы будем использовать Encore, платформу для разработки бэкенда, позволяющую создавать готовые к работе приложения в AWS/GCP без необходимости ручной работы над инфраструктурой.

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

Установка Encore

Если вы впервые используете Encore, то сначала необходимо установить CLI, который запускает локальную среду. Используйте соответствующую команду для вашей системы:

  • macOS: brew install encoredev/tap/encore
  • Linux: curl -L https://encore.dev/install.sh | bash
  • Windows: iwr https://encore.dev/install.ps1 | iex

Создание приложения

После установки Encore создайте новое приложение Encore и клонируйте этот пример:

encore app create my-app --example=react-starter

Локальный запуск

Запустите бэкэнд Encore из корневого каталога приложения, используя:

encore run

В другом окне терминала запустите фронтенд Next.js:

cd frontend
npm install
npm run dev

Откройте http://localhost:5173 в браузере, чтобы увидеть результат.

Приборная панель локального развития Encore

Во время выполнения программы encore run откройте http://localhost:9400/, чтобы просмотреть локальную панель разработчика Encore. Здесь можно выполнять запросы к API с помощью проводника API и просматривать трассировку запросов.

Создание клиента запроса и сохранение безопасности типов

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

npm run gen # Deployed Encore staging environment
# or
npm run gen:local # Locally running Encore backend

Развертывание в облаке

Разверните свое приложение в среде разработки в бесплатном "облаке" Encore:

git add -A .
git commit -m 'Initial commit'
git push encore

Затем перейдите в Cloud Dashboard, чтобы проконтролировать развертывание и найти свой рабочий URL.

Там же можно просмотреть метрики, трассировки, подключить приложение к репозиторию GitHub для автоматического развертывания при новых фиксациях, а также подключить собственную учетную запись AWS или GCP для использования в развертывании.

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

Если у вас возникают проблемы с CORS при обращении к Encore API из фронтенда, то вам может потребоваться указать, каким источникам разрешен доступ к вашему API (через браузеры).

Для этого необходимо указать ключ global_cors в файле encore.app, который имеет следующую структуру:

global_cors: {
  // allow_origins_without_credentials specifies the allowed origins for requests
  // that don't include credentials. If nil it defaults to allowing all domains
  // (equivalent to ["*"]).
  "allow_origins_without_credentials": [
    "<ORIGIN-GOES-HERE>"
  ],

  // allow_origins_with_credentials specifies the allowed origins for requests
  // that include credentials. If a request is made from an Origin in this list
  // Encore responds with Access-Control-Allow-Origin: <Origin>.
  //
  // The URLs in this list may include wildcards (e.g. "https://*.example.com"
  // or "https://*-myapp.example.com").
  "allow_origins_with_credentials": [
    "<DOMAIN-GOES-HERE>"
  ]
}

Более подробную информацию о настройке CORS можно найти в документации Encore.

Отличная работа - вы справились!

Теперь у вас есть основы масштабируемого и готового к производству веб-приложения, работающего в облаке.

Для работы с реальным производственным трафиком можно подключить облачный аккаунт (AWS/GCP) и развернуть его одним щелчком мышки.

Продолжайте создавать шаблоны приложений Encore с открытым исходным кодом! Спасибо за прочтение!

Источник:

#Golang #React
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу