当前位置: 首页 > 知识库问答 >
问题:

如何连接react前端和express后端?

乐寒
2023-03-14

所以我的问题就在这里:顺便说一句,我在通过谷歌找到如何做到这一点时遇到了一些困难,我尝试使用StackOverflow,但找不到确切的答案

纱线启动

要在localhost:3000上运行并启动,我希望它在localhost:3000上启动,同时在该服务器上启动express服务器,也就是在express.js中启动react服务器。

似乎我找到的每一个教程,大多数都过时了,剩下的是将反应变成静态网站然后使用Express的指南。我想保持反应在服务器端的反应路由器的优势

Edit1:所以基本上,当我有一个expressjs服务器时,数据库详细信息已经被删除,这一行不是错误

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

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

connection.connect()

app.post(/用户,函数(req, res){var user=req.body;res.end(成功);})

app.listen(3000,函数(){console.log('Express sever正在监听端口3000')})

//connection.end()

我还使用Thread start启动create react应用程序服务器,它在localhost:3000上启动,但这个expressjs服务器会覆盖它。

所以我想把两者连接起来,以便能够发送帖子请求

共有2个答案

尉迟卓
2023-03-14

您可以更改express正在侦听的端口:

var server = app.listen(3001, function () {
    var host = server.address().address
    var port = server.address().port
    console.log("Example app listening at http://%s:%s", host, port)

将3001更改为任何有效的端口号

漆雕洋
2023-03-14

我最近刚刚做了一个实施这一策略的回购示例。有几种方法可以做到这一点,但最简单的方法是将express server作为第二台服务器启动,该服务器将在不同的端口(即3001)上运行。然后,您可以使用一个命令同时启动react服务器(我假设是webpack)和expressapi服务器。

这里有一个教程,展示了如何设置。您应该注意本教程中关于通过webpack服务器代理来自客户端(浏览器)的请求的部分。如果您不通过webpack服务器代理请求,那么在CORS配置方面需要考虑一些注意事项。

这是我的概念验证repo,在这里我实现了您想要的:react客户端和express服务器。它可以通过并发或与docker(compose)一起运行。

 类似资料:
  • 我有一个用Angular编写的UI应用程序,它有一个在NodeJS中运行的后端。我还有另外两个将从NodeJS后端调用的服务。这些应用程序运行在docker容器中,并部署到AWS中的Kubernetes集群中。 流程是这样的: 我尝试创建一个AWS API网关,它指向Angular UI的ELB IP,但它不能提供页面。 做这件事的正确方法是什么?任何帮助都是非常感谢的。

  • 我一直试图将我的第一个完整的MERN堆栈部署到实际的服务器上,而不是Heroku和Netlify, null 2.安装nodejs、pm2、Nginx 我使用ssh复制react build文件夹中的所有文件: 我设置了Nginx以将该文件夹服务为端口80中的IP的默认请求 Ubuntu@first://etc/nginx/sites-enabled$sudo ufd sudo:无法解析主机优先s

  • 我目前正在学习Mule ESB,有一个问题困扰着我。我用React中的前端和Node.js中的后端创建了应用程序,我希望我的API通过ESB发送数据,并插入一些来自公共SOAP API的数据。然后来自REST API和SOAP API的数据将被合并到我的前端可以使用的一个endpoint中。这可能吗?有人能推荐一些我能读到更多相关信息的地方吗?我查阅了文件,但找不到这样的情况。我用的是电脑版的An

  • 制作生产构建并将其与后端绑定。这再次调用访问计算机上的localhost,但失败。 使用window.location.hostname+“getform”操作URL。当我有不同的服务器承载前端和后端时,这将失败。 Edit*好的,我通过向package.json添加以下行,成功地向节点服务器添加了一个代理。它将前端的localhost:3000/api/getform转发到后端的localhos

  • 问题内容: 我正在开发一个新项目,其中react / express作为前端,而loopback作为后端api。我在开发环境中使用不同的端口将它们分开。 我应该如何在生产中部署它们? 托管在同一服务器上-将后端与其他子域分开? 在2台不同的服务器上托管-似乎无法使用同一域。 问题答案: 您可以部署 您的 静态托管服务* 和 CDN 前端 *** AWS S3 + AWS CloudFront Go