【问题标题】:React / Laravel (php) SPA on same (Apache) server同一(Apache)服务器上的 React / Laravel(php)SPA
【发布时间】:2016-10-21 06:04:25
【问题描述】:

我想在前端做 SPA 应用程序将是 React,而后端的 laravel 上的其余完整 api。所有我想放在同一个域上的同一个 Apache 服务器上(myapp.com/index URLs 我的反应应用程序,请求将发送到 myapp.ru/api / ...)。

请解释一下,是否是正常做法,我知道我的路由会出现问题,并且在页面更新时我总是要对 index.html 进行重写。如果我要对与前端到后端相同的域进行 ajax 请求,我不会有问题。

请解释一下,以及这一切通常如何配置。或者这一切都是一个坏主意,并且 REACT 在 node.js 服务器上工作并在 apache 上单独 laravel。非常感谢您的解释。

【问题讨论】:

  • React 不关心你的服务器。把它放在你想要的地方,不要让事情复杂化
  • 森克!!!但是我的路由有问题,刷新页面时出现错误404,我想,需要添加重写规则,总是重定向到index.html,是吗?但是我有一个来自管理面板的 laravel 路由,我不明白如何需要配置我的服务器。或者我需要将我的组件插入到位于我的 laravel 视图(index.php)中的标记中。也许你有 git hub 上的示例链接

标签: php apache laravel reactjs single-page-application


【解决方案1】:

SPA 应用程序不需要服务器。 您使用 webpack 或 browserify 构建您的 React 应用程序,并通过 Apache 将这些静态包提供给客户端。

所有的 api 调用都会转到你的后端 laravel。 (myapp.ru/api)

【讨论】:

  • 森克!!!但是我的路由有问题,刷新页面时出现错误404,我想,需要添加重写规则,总是重定向到index.html,是吗?但是我有一个来自管理面板的 laravel 路由,我不明白如何需要配置我的服务器。或者我需要将我的组件插入到位于我的 laravel 视图(index.php)中的标记中。也许你有 git hub 上的示例链接。
  • 我无法完全理解您的情况,我猜您正在使用 laravel 路由器和 react 路由器 要处理由 react-router 引起的 404,请在您的 app/Exceptions/Handler 中使用以下 sn-p .php,方法 render() if ($e instanceof \Symfony\Component\HttpKernel\Exception\NotFoundHttpException) { abort(404); } return response(view('react.app.view'));
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-18
  • 2012-04-07
  • 2018-07-11
  • 1970-01-01
  • 2016-03-03
相关资源
最近更新 更多