我有一个我正在处理的node.js + Express项目,当我在我的机器上运行它时,它已经工作了。我使用
为我的Express API设置了端口4200var port = 4200;
app.js中的
我在React中使用axios访问API:
axios.get('https://localhost:4200/posts ... etc
当我在我的机器上运行它时,这一切都有效,但是当我使用Heroku部署它时,我收到此错误:
获取https://localhost:4200/posts net :: ERR_CONNECTION_REFUSED
错误:网络错误 at createError(createError.js:16) 在XMLHttpRequest.handleError(xhr.js:87)
我该如何解决这个问题?
答案 0 :(得分:0)
我想强调两件事:
<强> 1)强> 引自https://devcenter.heroku.com/articles/deploying-nodejs#specifying-a-start-script
Web进程类型中的命令必须绑定到PORT环境变量中指定的端口号。如果没有,则dyno将无法启动。
所以你应该做的是
var port = process.env.PORT || 4200;
现在,当使用本地系统时,将使用端口4200,并且当部署在由环境变量分配的heroku端口时将使用。
<强> 2)强>
根据您的问题,您说您正在使用axios.get('https://localhost:4200/posts ... etc
。如果部署了应用程序,它应该如何使用localhost
?
将localhost更改为在Heroku上创建应用程序时获得的域名。