Как запустить React.js на сервере Scala REST API

У меня есть приложение React.js, которое я создал с помощью create-response-app. Также у меня есть Scala REST API, использующий Akka-HTTP. Для сборки приложения React я использую npm запустить сборку. Я хочу, чтобы Scala отправляла клиенту index.html с другим статическим файлом. Я начал писать маршруты для статических файлов, но этот метод уже давно используется и сегодня может быть что-то еще, чтобы делать это автоматически. Подскажите, как решить эту проблему?

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

Raman Mishra 01.06.2018 16:30

Вы имеете в виду отдельную клиентскую и серверную стороны на разных портах?

Виталий Мудрый 01.06.2018 16:32

Да!! Это то, что я имею в виду

Raman Mishra 01.06.2018 16:47

Благодарить. Что вы имеете в виду под S3 для файлов, созданных с помощью реакции (html, css, js)?

Виталий Мудрый 01.06.2018 18:36

Извини я не знаю об этом

Raman Mishra 01.06.2018 18:52
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
5
356
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте Nginx. Обслуживайте статические файлы, созданные с помощью npm. Перенаправляйте запросы API в приложение scala. Минимальный пример конфигурации nginx с использованием префикса пути URL для разделения статического и api.

upstream server-api {
    server localhost:9000;
}

server {
    listen       80;
    server_name  _;

    location /api {
        proxy_pass http://server-api;
    }

    location / {
        root   /usr/share/nginx/dist;
        index  index.html index.htm;
    }
}

Другие вопросы по теме