【问题标题】:How to create a react-redux app with node server as backend?如何创建一个以节点服务器为后端的 react-redux 应用程序?
【发布时间】:2017-09-27 10:20:06
【问题描述】:

我正在尝试使用节点服务器作为后端创建一个 react-redux 应用程序。是否可以让节点服务器为 react-redux 应用程序提供服务,而不是使用 dev server a=in 一个端口和 node 在另一个端口上运行 react-redux?

需要一些想法才能开始。在此先感谢:)

【问题讨论】:

    标签: javascript node.js reactjs redux


    【解决方案1】:

    是的..是的

    您可以在“/”上为您提供响应应用程序 并在另一个路由中监听 API 请求 所以你没有单独的代码库用于 react 应用程序和 api 后端代码

    您可以使用 express 在特定路线上为 react 应用程序提供服务 即 my-app.com/

    然后在另一条路线上提供与后端相关的内容

    即 my-app.com/api

    所以当向 my-app.com/ 发出请求时,express 服务 express 服务后端资源或 API

    【讨论】:

    • @nadeshoki-- 在这种情况下,我需要运行两台服务器吗?一个用于为 react 提供服务,另一个用于 node.js?
    • 不,不需要一个
    • @nadeshoki-- 你的意思是说,我可以让 node.js 在一条路线上为我的 react 应用程序提供服务,而在不同路线上提供其他 API?
    • 是的,我就是这个意思
    • @nadeshoki-- 无论如何!谢谢..我会发现一些东西。
    【解决方案2】:

    在一起创建 express/react 应用程序时,我采取了几个步骤。我将创建一个服务器和一个客户端目录。客户端目录是使用 create-react-app 创建的,服务器可以通过 express-generator 创建。我的项目目录(包含两者的目录)基本上只是将两者融合在一起的胶水。在客户端应用程序中,我将添加 proxy:localhost:3001(或您的 express api 正在运行的任何端口)并使用 concurrently 运行两个服务器(客户端和服务器 - 因为客户端由 webpack-dev-server 运行)同时。它们在开发过程中作为单独的服务器运行,但是当我进行 api 调用时,就好像我直接将其发送到 express 服务器本身。

    唯一需要担心的是部署应用程序。您可以使用 create-react-app 附带的构建命令,并将其复制到您的 express 应用程序的公共目录中,该目录通过 express.static 提供。

    这里有一个简单的例子来看看: https://github.com/overthemike/heroku-skeleton

    【讨论】:

    • S-- 不过,谢谢,我确实更喜欢 nadeshoki 的建议,因为我可以避免在开发过程中使用两个开发服务器。此外,我在 redux 文档本身中找到了类似的解决方案。
    【解决方案3】:

    这是一个关于 redux SSR 设置的有用文档。这有助于避免在两个端口上运行客户端和服务器。

    Redux SSR

    【讨论】:

      猜你喜欢
      • 2016-06-15
      • 2020-06-07
      • 2020-03-09
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 1970-01-01
      • 2017-12-24
      • 1970-01-01
      相关资源
      最近更新 更多