vercel 部署中未找到 API
P粉495955986
P粉495955986 2024-01-29 11:41:22
0
1
384

我已經使用 github 在 vercel 上部署了我的 Web 應用程式。前端已加載,但前端發出的 api 請求未找到 404。順便說一句,這是 MERN 應用程式 這是我的 vercel.json

{
    "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 無法正常工作,我認為 api 尚未載入。請幫我

P粉495955986
P粉495955986

全部回覆(1)
P粉541551230

目前發生的情況似乎是 https://cozy-stay.vercel.app/api 路徑請求前往前端伺服器,而不是您期望的後端伺服器:

Request URL: https://cozy-stay.vercel.app/api/all-places
Request Method: GET
Status Code: 404 
Remote Address: 76.76.21.9:443
Referrer Policy: strict-origin-when-cross-origin

修復01

您可以為前端和後端使用兩個 vercel 應用程式:

  • cozy-stay.vercel.app
  • ##cozy-stay-backend.vercel.app - 將此用作前端應用程式中的後端伺服器主機。

修復02

您可以執行負載平衡器,將所有帶有 /api 前綴的請求傳送到後端,將其他請求傳送到前端。 IDK vercel 平台支援此功能。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!