【问题标题】:Web Application with React and Express使用 React 和 Express 的 Web 应用程序
【发布时间】:2017-11-09 21:58:26
【问题描述】:

我是一名新的 Nodejs 开发人员,我想了解一些有关使用 react 和 express 创建 Web 应用程序的知识。

我想做以下事情:

-> 我的 Web 应用程序将有大约 5 个静态页面,包括主页、关于我们的页面等。根据我的阅读,我了解到这些静态页面需要在服务器端呈现以进行 SEO 优化。

->我还在创建一个用户仪表板,一旦用户登录,它将完全响应以用作单页应用程序。

-> 第三,我还想让 Web 应用程序的一部分根据 url 呈现不同的内容。例如:mywebsite/test1 应该呈现关于 test1 的内容,而 mywebsite/test2 应该呈现关于 test2 的内容。我知道这可以通过 react 来完成,但因为我也希望这些 url 是 SEO,所以内容必须在服务器端呈现。

我将如何设置这样的应用程序?我的初步想法如下:

有一个快速应用程序,其中我为 5 个静态页面定义了路由。我可以直接为这 5 个页面渲染 html。

对于仪表板,我可以有一个快速路由将请求转发到 react/react 路由器并从那里获取。

类似地,在第三部分中,我使用 express 路由指向一个 react 组件。

这是正确的方法吗?

谢谢!如果我遗漏了什么或者我在概念上对某些东西有错误,请告诉我。

【问题讨论】:

  • 这个问题太宽泛了。投票结束。

标签: node.js reactjs express react-router


【解决方案1】:

我只知道你在做某种同构应用程序。

  1. 静态页面可以在构建时预渲染(index.html、about.html 等)
  2. 从子文件夹(即/assets)提供静态文件
  3. 当请求的 URL 以 /dashboard 为前缀时,请让 express 为您的仪表板提供服务:

    http://example/dashboard/some/view => /dashboard.html

  4. 在您的仪表板中,您可能会使用React Router。 然后,您的路由器会将 URL 分派给所需的组件:

    import { Route } from 'react-router'; import SomeView from 'app/components/some/SomeView.jsx'; <Route path='/dashboard/some/view' render={SomeView} />

您会在GitHub 或文章herehere 上找到很多与同构应用程序相关的示例。

【讨论】:

    猜你喜欢
    • 2016-02-27
    • 2020-09-02
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 2018-01-05
    • 2011-10-04
    • 1970-01-01
    相关资源
    最近更新 更多