Поток выполнения приложения React + Node.js, развернутого в AWS Cloudfront? - PullRequest
0 голосов
/ 28 мая 2019

Я занимаюсь разработкой веб-приложения в React с серверной частью Node.js. Я хотел бы разместить изображения и статические файлы, созданные для приложения React, в Cloudfront. Однако приложение React использует сервер Node.js для получения некоторых изменяющихся данных для заполнения представлений.

Мне нужно иметь полное представление о потоке приложения, чтобы придумать разумный дизайн. Вот что я думаю:

  1. Пользователь вводит URL в браузере
  2. Клиент направлен на ближайший край Cloudfront
  3. Cloudfront предоставляет HTML и изображения в браузер
  4. Приложение React загружается в браузере
  5. Выполнен вызов API для сервера Node.js, который возвращает необходимые данные
  6. Браузер отображает приложение React.

Я правильно понимаю? Есть ли лучший способ для разработки моего веб-приложения?

Я не могу найти необходимую информацию в Интернете и буду признателен за любую помощь!

1 Ответ

0 голосов
/ 28 мая 2019

Ваша архитектура верна. Просто чтобы быть понятным, CloudFront не размещает ваши файлы. CloudFront - это кэш, который будет извлекать ваши файлы из Origin, обычно из корзины Amazon S3.

Используя React && AWS Amplify, вы можете создать безсерверную архитектуру для этого типа установки с минимальными затратами труда. Начать можно, следуя инструкциям на https://aws -amplify.github.io / docs /

В двух словах:

Установить с помощью:

npm install -g @aws-amplify/cli
$ amplify configure

Тогда в вашем проекте:

amplify init 
amplify add api #this will create your API as AWS Lambda functions exposed through Amazon API Gateway)
amplify add hosting #this will create the Amazon S3 bucket for hosting and the cloudfront distribution)
amplify push #to create all this on your AWS account for you

Если вы будете искать «aws усиление реакции», вы легко найдете дюжину постов в блоге, показывающих, как начать работу. Их так много, что я не могу рекомендовать один из них.

...