Как развернуть бэкэнд Symfony 4 (в подкаталоге) с интерфейсом React

Итак, я пытаюсь создать платформу, которая использует Symfony 4 в качестве серверной службы (только вызовы JSON api) и React в качестве внешнего интерфейса.

Я использую cPanel и после создания приложения React в производственном режиме копирую его в папку public_html.

В то же время я создаю папку с именем api и кидаю туда бэкэнд-код Symfony. Я установил symfony/apache-pack и могу получить доступ к своему Symfony API по следующему URL-адресу: mydomain.com/api/public/api/users, поскольку файл htaccess, созданный apache-pack, находится в общей папке.

Однако это не то, что я хочу, я хотел бы иметь доступ к своему API как mydomain.com/api/users, а также иметь возможность обращаться к приложению React через mydomain.com/login (или по любому другому маршруту Я создаю).

Есть ли какая-нибудь конфигурация, которую я могу сделать, чтобы это работало?

Должен ли я просто переключить свое приложение Symfony на поддомен, например api.domain.com, и использовать его?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
680
1

Ответы 1

Вы будете удивлены, что это очень просто, и применяется не только для реагирования, но и для любой другой инфраструктуры JavaScript, которую вы хотите объединить с Symfony.

Просто добавьте response index.html, чтобы он стал symfony base.html.

Другими словами, позвольте Symfony отрендерить index.html, в котором вы ссылаетесь на скрипты React.

../base.html.twig

<!DOCTYPE html>
<html>
  <head>
    <meta charset = "utf-8" />
    <title>My React App</title>
  </head>
  <body>
    <!-- ... other HTML ... -->

    <!-- Load React. -->
    <!-- Note: when deploying, replace "development.js" with "production.min.js". -->
    <script src = "https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
    <script src = "https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>

    <!-- Load our React component. -->
    <script src = "app.js"></script>

  </body>
</html>

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