如何在多页网站(非SPA)中使用react.js?

时间:2015-06-30 10:21:11

标签: javascript laravel reactjs browserify

我有一个laravel应用程序。 对于具有此类路由的页面:/admin/entity/我想使用反应组件与反应路由器来处理/admin/entity/:id路由。

如果我使用browserify将所有组件捆绑在一个文件中,我无法访问任何组件以从外部呈现它,因为browserify将其包装到关闭状态。因此,我几乎没有问题:

  • 我应该为每个页面创建单独的bundle.js文件并在该文件中显式呈现组件吗?
  • 或者我应该将每个组件从jsx预编译为js并从{{{ 1}} file?
  • 将反应库包含在bundle.js中是否有意义,或者我可以从视图中明确加载它?

  • 1 个答案:

    答案 0 :(得分:1)

    以下是我的意见

    • 您应该将React和所有代码捆绑在React组件呈现任何部分的所有页面中(从我收集的内容/admin/entity)。
    • 您的React组件应始终呈现给特定元素(例如,空<div>)并且应该配置React Router之类的内容,以便它忽略/admin/entity但呈现{{} 1}}。您面临的挑战是,指向不同/admin/entity/:id网址的任何链接都应使用:id组件最佳地位于React组件中。这将自动连接您的路由器。

    您的路线可能如下所示:

    Link

    我相信,当您<Route path="admin/entity/:id" handler={Entity} /> 路由器时,如果浏览器的网址不是预期的格式,则React实际上无法呈现任何内容。