因此,我正在尝试构建一个平台,该平台使用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”之类的子域并使用它吗?
答案 0 :(得分:0)
您会感到惊讶,这非常简单,不仅适用于响应,而且还适用于您想与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>