我已经使用github在vercel上部署了我的web应用。前端已经加载,但未找到前端发出的API请求(给出404)。顺便说一下,这是一个MERN应用。
{
"buildCommand": "cd client && npm install && ./node_modules/vite/bin/vite.js build",
"outputDirectory": "client/dist",
"framework": "vite",
"rewrites": [
{
"source": "/api/(.*)",
"destination": "/index.js"
}
]
}
下面是index.js
const express = require("express");
const cors = require("cors");
const mongoose = require("mongoose");
const cookieParser = require('cookie-parser');
const router = require('./router/router');
const setupCronJob = require('./cron');
const fs = require('fs');
require('dotenv').config();
const app = express();
app.use(express.json());
app.use(cookieParser()); // for reading cookies
const allowedOrigins = ['http://127.0.0.1:5173','https://cozy-stay.vercel.app'];
const corsOptions = {
credentials: true,
origin: allowedOrigins,
methods: 'GET, POST, PUT, DELETE',
allowedHeaders: 'Content-Type, Authorization, Cookie'
};
app.use(cors(corsOptions));
const port = process.env.PORT || 4000;
mongoose.set("strictQuery", false);
mongoose.connect(process.env.MONGO_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
serverSelectionTimeoutMS: 10000,
}).then(()=> {
console.log('Connected to database')
}).catch(err=>{
throw err;
})
setupCronJob();
app.use('/api',router);
app.listen(port);
下面是目录img
前端已被但API不工作我想i api还没有加载。请帮助我
1条答案
按热度按时间lymgl2op1#
目前发生的情况似乎是
https://cozy-stay.vercel.app/api
路径请求发往前端服务器,而不是您所期望的后端服务器:修复01
您可以将两个vercel应用程序用于前端和后端:
修复02
你可以运行一个负载均衡器,把所有带
/api
前缀的请求发送到后端,把其他的发送到前端。vercel平台支持IDK。