Heroku部署:连接被拒绝,使用JawsDB和MySQL无法获取错误

时间:2020-11-10 17:06:22

标签: mysql reactjs heroku jawsdb-maria

这是一个简单的计算器应用程序,应该将所有进行的计算保存为字符串,并且所有使用该计算器站点打开的用户都将使用该站点上任何人进行的新计算进行更新。

我试图在Heroku上使用React,MySQL db和JawsDB部署项目,但是在遵循了我们在Note Taker分配中使用的Heroku / Jaws部署说明之后,我的数据库连接无法正常工作。我收到以下错误消息:“ TypeError:无法提取”和“ GET http://.....net ERR_CONNECTION REFUSED”

非常感谢您能提供的任何帮助。

error messages in console

回购:https://github.com/AndrewCodesDontYaKnow/ReactCalc

URL:https://lit-reaches-09190.herokuapp.com/

1 个答案:

答案 0 :(得分:0)

错误是您在数据库服务器的build文件夹中使用端口4000。在在线网站中,它无法识别,并且还端口3306
因此,您的server.js没问题,但是在App.js中,您必须全部替换:

"http://localhost:3306/"

仅:

"/"

它将是:

...
fetch("/calculations")
...
fetch(`/calculations/add?calc=${calculationArray[calculationArray.length - 1]}`)
...
fetch(`/clear/`)
...

通过这种方式,您将在react js应用程序的同一端口上运行数据库服务器。

然后,您必须运行npm run build来创建build文件夹,该文件夹将被部署到heroku。

OR
只需在build文件夹中替换所有内容即可:

"http://localhost:4000/"

具有:

"/"

其他: 您无需将node_modules文件夹上传到github即可部署应用。 Heroku不需要它。
您使用git,因此应将.gitignore.txt重命名为.gitignore,而没有任何格式扩展名,并输入:

node_modules

在其中,忽略git push中的该文件夹