我尝试将我的Express服务器部署在Vercel上,以解决前端代码中的CORS问题。但是当我进入部署的页面时,出现了404错误。但是在本地主机上尝试时,一切都很顺利。请注意,保留HTML标签,不做任何修改。
// vercel.json
{
"version": 2,
"builds": [
{
"src": "./index.js",
"use": "@vercel/node"
}
],
"routes": [
{
"src": "/(.*)",
"dest": "/"
}
],
"rewrites": [{ "source": "/api/(.*)", "destination": "/api" }]
}
//index.js
const express = require("express");
const cors = require("cors");
const axios = require("axios");
const app = express();
const PORT = process.env.PORT || 3000;
require("dotenv").config();
let corsOptions = {
origin: ["http://localhost:3000", "https://humanscape-team5a.netlify.app"],
};
app.use(cors(corsOptions));
app.get("/", (req, res) => {
const textQuery = req.query.searchText;
const numOfRowsQuery = req.query.numOfRows;
axios
.get(
"http://apis.data.go.kr/B551182/diseaseInfoService/getDissNameCodeList",
{
params: {
sickType: 1,
medTp: 2,
diseaseType: "SICK_NM",
searchText: textQuery,
ServiceKey: process.env.KEY,
numOfRows: numOfRowsQuery,
_type: "json",
},
}
)
.then(response => res.send(response.data));
});
app.listen(PORT, () => {
console.log(`Server running on ${PORT}`);
});
由于它在本地主机上运行正常,我猜测这可能是vercel设置的问题。有什么想法吗?