微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Vercel 不显示 expressjs 静态文件

如何解决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 举报,一经查实,本站将立刻删除。