Heroku部署后访问API时,MERN应用程序出现“服务器响应状态为504网关超时”错误

问题描述

我最近在一家假餐厅部署了MERN应用程序。本地一切正常。当我将其部署到Heroku时,在“菜单页面上开始收到504错误,该错误正试图通过axios调用菜单数据。

我的服务器文件如下:

require('dotenv').config();

const express = require('express');
const app = express();
const PORT = process.env.PORT || 3002;
const mongoose = require("mongoose");
const bodyParser = require('body-parser');

const cors = require('cors');
const routes = require("./routes");

app.use(express.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(cors());

app.use(routes);

mongoose.connect(process.env.MONGODB_URI,{
  useNewUrlParser: true,useUnifiedTopology: true
});

mongoose.connection.on('connected',() => {
  console.log('Mongoose Connected');
});

app.listen(PORT,function () {
  console.log(`? ==> Server started on ${PORT}!`);
});

我有一个如下所示的setupProxy.js文件

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(
    '/api/menus',createProxyMiddleware({
      target: 'http://localhost:3002',changeOrigin: true,})
  );
};

如果有人对可能的问题有任何想法,我将非常感谢您的帮助。如有需要,很乐意分享其他文件/存储库。

应用程序问题页面当前位于:https://goodrestaurant.herokuapp.com/menu

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)