微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试代理请求时发生 HPM 错误使用 react + express

如何解决尝试代理请求时发生 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 举报,一经查实,本站将立刻删除。