Node.js 从react服务器调用express server时出现代理问题

Node.js 从react服务器调用express server时出现代理问题,node.js,reactjs,express,Node.js,Reactjs,Express,嘿,伙计们,我刚刚在准备从react服务器调用nodejs服务器的代理,所以在添加了“代理”之后:“http://localhost:5000/“ 对于react中的package.json文件,我可以重定向到localhost:5000(它正在运行我的节点服务器),但代理似乎只与fetch和axios一起工作 axios.get("/api/currentuser") 将我重定向到localhost:5000 但是当我在锚标签上试着这样做的时候 <li><a href="

嘿,伙计们,我刚刚在准备从react服务器调用nodejs服务器的代理,所以在添加了“代理”之后:
“http://localhost:5000/“

对于react中的package.json文件,我可以重定向到localhost:5000(它正在运行我的节点服务器),但代理似乎只与fetch和axios一起工作

 axios.get("/api/currentuser")
将我重定向到localhost:5000 但是当我在锚标签上试着这样做的时候

<li><a href="/auth/google">Login with google</a></li>
  • 它不需要我去
    localhost:5000
    那么,如果我需要呆在
    localhost:3000
    上,有时使用tag有什么方法可以让我在那里工作,并且在需要的时候可以去
    localhost:5000
    ??? 原因并非所有锚定标记我都需要根据重定向到
    localhost:5000

    ,您可以使用文件
    setupProxy.js
    根据特定条件将请求重定向到代理,并且它似乎也适用于
    href
    属性

    您必须修改示例代码:

    const proxy = require('http-proxy-middleware');
    
    module.exports = function(app) {
      app.use('/api', proxy({
        target: 'http://localhost:5000',
        changeOrigin: true,
      }));
    };
    

    符合你的要求。您可以在api路径上使用模式匹配,因此这应该不是问题。希望这有帮助!:)

    如果我需要在生产级别上实现这一点,那么最好的选择可能是使用一个真正的代理,从中提供绑定的代码来重定向请求,就像在开发模式中一样