【问题标题】:Showing json data when host on heroku在heroku上托管时显示json数据
【发布时间】:2021-12-18 11:00:39
【问题描述】:

我确实在heroku上托管了mern项目。主页运行良好,但是当我切换到about或其他页面并重新加载它时,在web而​​不是UI上显示json数据。请帮助我可能是什么问题

直播网址:https://rawat-portfolio.herokuapp.com/

[代码结构][1] [1]:https://i.stack.imgur.com/eVLGx.png

App.js 代码

const upload = multer();
const app = express();
app.use(cookieParser());

if (process.env.NODE_ENV !== "PRODUCTION") {
  require("dotenv").config({ path: "backend/config/config.env" });
}

const store = new MongoDBStore({
  uri: process.env.MONGODB_URL,
  collection: "sessions",
});

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(express.json());
app.use(
  session({
    secret: "my secret",
    resave: false,
    saveUninitialized: true,
    store: store,
  })
);

app.use(userRoutes);
app.use(projectRoutes);
// Middleware to handle errors
app.use(errorMiddleware);

app.use(express.static(path.join(__dirname, "uploads")));

if (process.env.NODE_ENV == "PRODUCTION") {
  app.use(express.static(path.join(__dirname, "..", "frontend", "build")));

  app.get("/*", (req, res) => {
    res.sendFile(
      path.resolve(__dirname, "..", "frontend", "build", "index.html")
    );
  });
}

module.exports = app;

Server.js 代码

connectDatabase();

const PORT = process.env.PORT || 5000;

app.listen(PORT, () => {
  console.log(
    `Server started on PORT: ${PORT} in ${process.env.NODE_ENV} mode`
  );
});

// unhandled promise rejection

process.on("unhandledRejection", (err) => {
  console.log(`Error: ${err}`);
  console.log("Shutting down the server due to unhandled promise rejection");
  process.exit();
});

【问题讨论】:

  • 您可以发布指向您网站的链接吗?您还应该更新您的问题以包含您的代码,这样人们可能能够帮助您。

标签: node.js heroku mern


【解决方案1】:

找到解决方案...

我将 api 命名为与路由/页面名称相同。只需更改 api 的名称即可解决问题

【讨论】:

    猜你喜欢
    • 2021-04-08
    • 1970-01-01
    • 2020-08-05
    • 2018-05-22
    • 2014-12-20
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 2013-02-28
    相关资源
    最近更新 更多