如何使用React前端部署Symfony 4后端(在子目录中)

问题描述 投票:1回答:1

因此,我正在尝试构建一个平台,该平台使用Symfony 4作为后端服务(仅JSON api调用),并使用React作为前端。

我正在使用cPanel,并在生产模式下构建React应用后,将其复制到public_html文件夹中。

同时,我创建一个名为“ api”的文件夹,并将Symfony后端代码扔在那里。 我已经安装了symfony/apache-pack并且可以通过以下URL访问我的Symfony API:'mydomain.com/api/public/api/users',因为apache-pack创建的htaccess文件位于公用文件夹中。

但这不是我想要的,我希望能够以“ mydomain.com/api/users”身份访问我的API,还能够通过“ mydomain.com/login”(或任何其他途径)访问React应用我创造)。

我可以做些什么配置来完成这项工作?

我是否应该将我的Symfony应用程序简单地切换到“ api.domain.com”之类的子域并使用它?

php reactjs apache symfony cpanel
1个回答
0
投票

您会感到惊讶,这非常简单,不仅适用于响应,而且还适用于您想与Symfony结合使用的任何其他JavaScript框架。

只需添加react index.html即可成为symfony的base.html。

换句话说,让Symfony Render 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>
© www.soinside.com 2019 - 2024. All rights reserved.