NodeJS Express服务器中的路由处理程序无法正常工作(创建react应用程序)

xj3cbfub  于 2023-01-25  发布在  Node.js
关注(0)|答案(1)|浏览(149)

我有一个用CRA制作的简单的react应用程序,我把它部署在vercel上。所有的程序似乎都能正常工作,只有一个例外。我的路由处理程序没有发回正确的响应。看起来他们发送的是从构建脚本创建的index.html文件。我不确定为什么会发生这种情况。当我在本地构建它时,它发送了正确的响应。下面是express服务器的代码:

const express = require("express");
const bodyParser = require("body-parser");
const path = require("path");
const app = express();

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

app.get("/ping", function (req, res) {
  return res.send("pong");
});

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

const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
  console.log(`Server listening on ${PORT}`);
});

下面是文件结构,如果有帮助的话:

bkhjykvo

bkhjykvo1#

我解决了这个问题。Vercel只支持无服务器部署。你不能托管快速服务器,只能托管静态站点

相关问题