2017-12-02 175 views
1

所以这是我在泡菜问题:BTW我遇到了一些麻烦找出如何通过谷歌做到这一点,我也尝试使用StackOverflow上也没有找到确切的答案如何连接反应前端和后端快递?

所以我有一个ReactJS网站,我使用

纱线开始

运行,并启动在localhost:3000 我希望它推出在localhost:3000,而一个Express服务器也可以启动该服务器上,又名启动反应服务器最多在express.js中。

看起来像我找到的每一个教程,大多数已经过时,其余的是指导将反应转化为静态网站,然后使用快递。我想继续在服务器端反应的优势反应路由器

EDIT1的:所以基本上,当我有一个expressjs服务器 数据库详细信息已被删除,该行心不是AN ERROR

const express = require('express'); var app = express();

var mysql = require('mysql'); var connection = mysql.createConnection({host: database:'main'});

connection.connect()

app.post('/用户的,功能(REQ,RES){风险用户= req.body; res.end( '成功');})

app.listen(3000,函数(){的console.log( '特快服务器正在侦听端口3000 ')})

//connection.end()

我也开始了用纱线创建反应应用程序服务器rt,它在localhost:3000上启动,但是这个expressjs服务器会覆盖它。

所以我想这两个连接到能够发送POST请求

+0

是否有一个原因,您不能在端口3001上运行您的快速服务器和端口3000上的反应前端?这样做可以通过“localhost:3001/users”访问快速服务器来发送发布请求。 – bluesixty

+0

@bluesixty如果我把它放在AWS服务器上怎么办? – adriam

回答

1

我刚刚在实现该战略的一个样本回购工作。有几种方法可以完成,但最简单的方法是启动快速服务器作为第二个服务器,它将运行在不同的端口上,即。 3001.然后,您可以使用concurrently在单个命令中启动反应服务器(我假定为webpack)和快速API服务器。

Here is a tutorial显示如何设置。您应该注意本教程中关于通过webpack服务器代理来自客户端(浏览器)的请求的部分。如果您不通过webpack服务器代理请求,则需要考虑CORS配置方面的一些注意事项。

Here is my proof of concept repo其中我实现了你正在寻找的东西:反应客户端和快速服务器。它可以是run via concurrently或docker(撰写)。

+0

只是想说那个教程很棒,几天来一直在寻找,效果很好,并且回答了OP。 – rrd

+0

很酷,谢谢。我知道在react,docker,express和apollo/graphql之间的每一个都是大型项目,有很多教程,我想要一些将它们全部绑定在一个教程项目中的东西。 – Mikelax