【发布时间】:2017-09-27 10:20:06
【问题描述】:
我正在尝试使用节点服务器作为后端创建一个 react-redux 应用程序。是否可以让节点服务器为 react-redux 应用程序提供服务,而不是使用 dev server a=in 一个端口和 node 在另一个端口上运行 react-redux?
需要一些想法才能开始。在此先感谢:)
【问题讨论】:
标签: javascript node.js reactjs redux
我正在尝试使用节点服务器作为后端创建一个 react-redux 应用程序。是否可以让节点服务器为 react-redux 应用程序提供服务,而不是使用 dev server a=in 一个端口和 node 在另一个端口上运行 react-redux?
需要一些想法才能开始。在此先感谢:)
【问题讨论】:
标签: javascript node.js reactjs redux
是的..是的
您可以在“/”上为您提供响应应用程序 并在另一个路由中监听 API 请求 所以你没有单独的代码库用于 react 应用程序和 api 后端代码
您可以使用 express 在特定路线上为 react 应用程序提供服务 即 my-app.com/
然后在另一条路线上提供与后端相关的内容
即 my-app.com/api
所以当向 my-app.com/ 发出请求时,express 服务 express 服务后端资源或 API
【讨论】:
在一起创建 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
【讨论】:
这是一个关于 redux SSR 设置的有用文档。这有助于避免在两个端口上运行客户端和服务器。
【讨论】: