Vercel 不显示 expressjs 静态文件

问题描述

所以我有一个 Expressjs 应用程序,它有两个用途的 API 和网站本身,它是 React

我尝试部署它,但它只加载来自 React 的元标记,而不加载奇怪的页面内容

代码如下:

process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 1;
require("dotenv").config();
const express = require("express");
const app = express();

const path = require("path");
const logger = require("morgan");
const cors = require("cors");

app.use(logger("dev"));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cors());

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

app.get("*",function (_,res) {
  res.sendFile(
    path.join(__dirname,"./admin/build/index.html"),function (err) {
      if (err) {
        res.status(500).send(err);
      }
    }
  );
});
app.use("/api",require("./routes"));

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

module.exports = app;

这里是 vercel.json:

{
  "version": 2,"builds": [
    {
      "src": "./index.js","use": "@vercel/node"
    },{
      "src": "./admin/build","use": "@vercel/node"
    }
  ],"routes": [
    {
      "src": "/(.*)","dest": "/"
    }
  ]
}

我是否做错了什么或忘记了什么?

解决方法

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

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

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