【发布时间】:2021-06-17 21:18:18
【问题描述】:
我正在处理从server 查询的React 应用程序。我已经在heroku 上部署了服务器。当我在dev 中进行测试时,application 的行为符合预期。但是当我在vercel 部署中使用它时,它会因为heroku 服务器没有正确响应而失败。
以下是查询的服务器代码:
app.get(`/allPlans`, async (req, res) => {
console.log("allPlans() query");
ret = await Plans.find({});
f = [];
for (i = 0; i < ret.length; i++) {
f.push(ret[i].name);
}
console.log(f);
return res.status(200).send(f);
});
以下是我使用axios从客户端查询的代码:
const endPoint = "/allPlans";
let ret = await axios.get(endPoint);
console.log(ret.data);
在dev 环境中,当我在localhost:3000 上部署应用程序时,这会返回一个不错的array。
["test","myPlan190","myPlan987"]
但在 vercel 的实际生产中,它返回了以下对象(您可以通过 vercel deployment 在控制台中查看此消息):
欢迎所有建议。
Heroku server query which is failing from axios, but working elsewise
【问题讨论】:
-
这可能是侦听正确端口的简单案例。你的设置在 5000 上,heroku(我对此不是 100%)是 8080。记得重新启动服务器,并且它可能值得一个 npm run build。
-
您是说
heroku服务器工作不正常吗?因为server status 恢复正常。 -
我在 Heroku 上看不到您的 react 应用对后端的任何请求。
-
查看上面写的
axios代码。 -
是的,我指的是网络控制台。 Heroku 上没有对后端的请求。可能您尝试向前端应用的 URL 发送请求。
标签: reactjs heroku server production vercel