Node.js 从react服务器调用express server时出现代理问题
嘿,伙计们,我刚刚在准备从react服务器调用nodejs服务器的代理,所以在添加了“代理”之后: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="
“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路径上使用模式匹配,因此这应该不是问题。希望这有帮助!:) 如果我需要在生产级别上实现这一点,那么最好的选择可能是使用一个真正的代理,从中提供绑定的代码来重定向请求,就像在开发模式中一样