设计多页React应用程序

时间:2017-02-08 13:04:53

标签: reactjs react-router

我正计划基于网络的应用项目阶段。我想在它上面使用React JS。

此项目仅适用于经过身份验证的用户。我相信随着时间的推移,这将是一个大项目。

有一个页面反应应用程序,我可以重定向到登录页面但在bundle.js中将显示每个api URI,我不想向公众公开。所以我认为不是创建一个页面应用程序,而是需要拆分为几个基页。这样我就不会向未经授权的访问者公开api URL(使用单独的登录页面)。

我想分别捆绑每个模块。但是在每个模块中,都会有一个带有browserHistory的反应路由器。

  • / login =>单独的页面(成功登录后,这将重定向到/仪表板)
  • /或/ dashboard seperate page
  • / user =>单独的页面,但子URL将由React Router处理。 (例如:/ user / profile,/ user / status etc.)
  • ...(每个主要模块都有单独的页面

在后端,我将使用PHP框架(可能是流明或laravel)。

实现这一目标的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

当您的用户尝试直接访问/仪表板时,此方法无效,无论用户是否登录,都会下载该捆绑包。

更好的方法是https://github.com/ReactTraining/react-router/blob/latest/docs/guides/DynamicRouting.md基于路由提供服务包而不实际生成多个包(应用程序)。
您可以对所有请求使用身份验证标头,而不是隐藏您的api端点。

如果您使用的是create-react-app,这篇博客文章是一个很好的起点https://www.drewbolles.com/blog/2016/11/14/webpack-code-splitting-with-create-react-app-react-router/