Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.js项目在本地计算机上工作,在Heroku上部署时会出现问题_Javascript_Node.js_Heroku_Web Deployment_Web Hosting - Fatal编程技术网

Javascript node.js项目在本地计算机上工作,在Heroku上部署时会出现问题

Javascript node.js项目在本地计算机上工作,在Heroku上部署时会出现问题,javascript,node.js,heroku,web-deployment,web-hosting,Javascript,Node.js,Heroku,Web Deployment,Web Hosting,我有一个node.js+Express项目,我一直在工作,当我在我的机器上运行它时,它一直在工作。我已经为我的Express API设置了端口4200,带有 var port = 4200; 在app.js中 我在React中使用axios访问API: axios.get('https://localhost:4200/posts ... etc 当我在我的机器上运行它时,这一切都会起作用,但当我使用Heroku部署它时,会出现以下错误: 获取网络::错误连接被拒绝 错误:网络错误 在cre

我有一个node.js+Express项目,我一直在工作,当我在我的机器上运行它时,它一直在工作。我已经为我的Express API设置了端口4200,带有

var port = 4200;
在app.js中

我在React中使用axios访问API:

axios.get('https://localhost:4200/posts ... etc
当我在我的机器上运行它时,这一切都会起作用,但当我使用Heroku部署它时,会出现以下错误:

获取网络::错误连接被拒绝

错误:网络错误 在createError(createError.js:16) 位于XMLHttpRequest.handleError(xhr.js:87)


如何解决此问题?

我想强调两点:

1) 引用

web进程类型中的命令必须绑定到端口环境变量中指定的端口号。如果没有,dyno将不会启动

所以你应该做的是

var port = process.env.PORT || 4200;
现在,在本地系统上工作时,将使用4200端口,在heroku上部署时,将使用环境变量指定的端口

2) 根据您的问题,您说您正在使用
axios.get('https://localhost:4200/posts …etc
。部署应用程序时,应如何使用
本地主机


在Heroku上创建应用程序时,将localhost更改为您获得的任何域。

我想您应该尝试更改为您获得的像XXXXX.herokuapp.com这样的Heroku域。我尝试用XXXXX.herokuapp.com替换localhost:4200的每一次出现,但我现在尝试访问API时都找不到404。