【问题标题】:How to deploy Symfony 4 backend (in subdirectory) with React frontend如何使用 React 前端部署 Symfony 4 后端(在子目录中)
【发布时间】:2019-04-20 12:18:34
【问题描述】:

所以,我正在尝试构建一个使用 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】:

    您会惊讶于这非常简单,不仅适用于 react,还适用于您想与 Symfony 结合的任何其他 JavaScript 框架。

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

    换句话说,让 Symfony 渲染你引用 React 脚本的 index.html

    ../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>
    

    【讨论】:

      猜你喜欢
      • 2019-09-07
      • 2022-09-28
      • 1970-01-01
      • 2015-10-04
      • 2018-02-18
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 2019-06-19
      相关资源
      最近更新 更多