【发布时间】:2022-01-06 20:32:17
【问题描述】:
我有一个应用程序在我的域上与 Express 中的服务器做出反应。该项目分为两个部分(文件夹),“前端”和“后端”。当我启动 express 服务器时,它会在端口 4000 上进行侦听,但是当 React 中的应用程序通过路径 Ex:("https://localhost.com/dataRequested") 使用 axios 发出请求时,会出现 404 错误。当我将端口添加到侦听服务器的域时,请求工作。例如:("https://localhost.com:4000/dataRequested")
Index.js 服务器快递
const routesHandler = require('./routes/handler.js');
const bodyParser = require('body-parser');
const https = require('https');
const fs = require('fs');
var privateKey = fs.readFileSync('sslcert/server.key', 'utf8');
var certificate = fs.readFileSync('sslcert/server.crt', 'utf8');
const credentials = {key: privateKey, cert: certificate};
const express = require('express');
const app = express();
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());
app.use('/', routesHandler);
const httpsServer = https.createServer(credentials, app);
httpsServer.listen(4000);
handler.js 路由服务器 Express
router.get('/randomElementsData', (req, res) =>
{
//functions
}
hero.js 组件 React 应用
const getHeroData = async () =>
{
try
{
const response = await axios.get('/randomElementsData');
setDataHero(response);
}
catch (error)
{
console.log(error);
}
}
【问题讨论】:
-
你在 package.json 中添加代理了吗? "代理": "localhost:4000"
-
因为当您将端口添加到 API 调用时它可以工作...我会说您需要添加代理