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