如何解决尝试代理请求时发生 HPM 错误使用 react + express
[HPM] Error occurred while trying to proxy request /api/users/ from localhost:3000 to http://localhost:5000 (ECONNRESET)
我在尝试执行 axios.post
请求时收到此错误,
我正在使用 concurrently
运行我的应用程序(服务器使用 express,客户端使用 react),
如here所述,我定义了 client/src/setupProxy.js 文件:
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app) {
app.use(
'/api',createProxyMiddleware({
target: 'http://localhost:5000',changeOrigin: true,})
);
};
我的 server.js:
const express = require('express');
const connectDB = require('./config/db');
const app = express();
//connect Database
connectDB();
//Init MiddleWare -allows to get the data from req.body
app.use(express.json());
//Define routes
app.use("/api/users",require("./routes/api/users"));
app.use("/api/auth",require("./routes/api/auth"));
app.use("/api/profile",require("./routes/api/profile"));
app.use("/api/posts",require("./routes/api/posts"));
app.get('/',(req,res) => res.send('API is running'));
//Port - first look for an environment port (when connect to heroku)
const PORT = process.env.PORT || 5000;
app.listen(PORT,() => {
console.log(`server listening on port: ${PORT}`);
})
以及我在客户端的发布请求:
export const register = ({ name,email,password}) => async dispatch => {
const config = {
headers: {
'Content-Type': 'application/json'
}
}
const body = JSON.stringify({name,password});
try {
const res = await axios.post('/api/users/',body,config);
console.log({res});
dispatch({
type: REGISTER_SUCCESS,payload: res.data
})
console.log('passed dispatch')
} catch (e) {
const errors = e.response.data.errors;
if(errors) {
errors.forEach(e => dispatch(setAlert(e.msg,'danger')));
}
dispatch({
type: REGISTER_FAIL
})
}
}
知道我想念什么吗?
编辑:
我注意到我的服务器在 ipv4 上使用类型 ipv6 和客户端,也许这就是问题所在?我如何让它们在同一个 ipv 上运行?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。