代理不适用于反应和节点

新手上路,请多包涵

我设置的代理有问题。

这是我的根 package.json 文件:

 "scripts": {
    "client": "cd client && yarn dev-server",
    "server": "nodemon server.js",
    "dev": "concurrently --kill-others-on-fail \"yarn server\" \"yarn client\""
}

我的客户端 package.json 文件:

 "scripts": {
    "serve": "live-server public/",
    "build": "webpack",
    "dev-server": "webpack-dev-server"
},
"proxy": "http://localhost:5000/"

我已经在服务器端设置了 express 以在端口 5000 上运行。每当我向服务器发出请求时,即:

 callApi = async () => {
    const response = await fetch('/api/hello');
    const body = await response.json();
    // ... more stuff
}

请求总是去

header 指向 http://localhost:8080/api/hello 的图片

有人可以指出我必须做些什么来解决这个问题,以便请求实际上到达端口 5000?

原文由 Strahinja Ajvaz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 666
2 个回答

我多次遇到这个问题,我认为这是因为缓存。要解决此问题,请执行以下操作


编辑:@mkoe 说他只需删除 package-lock.json 文件并重新启动应用程序即可解决此问题,因此请先尝试一下。如果这不能解决问题,请执行以下操作。


  1. 停止你的 React 应用
  2. 通过执行删除 package-lock.json 文件和 _nodemodules 目录

rm -r package-lock.json node_modules

在应用程序目录中。 3. 然后在应用目录中执行 npm install

希望这解决了您的代理问题。

原文由 Harshit Hiremath 发布,翻译遵循 CC BY-SA 4.0 许可协议

React 应用程序仍然指向 localhost:8080 的原因是因为缓存。要清除它,请按照以下步骤操作。

  1. 在 React 应用程序中删除 package-lock.jsonnode_modules
  2. 关闭 React Terminal 和 npm install React App 上的所有依赖项
  3. 重新打开 React App,代理现在应该可以工作了

这个问题 困扰 了我很久;但如果您按照上述步骤操作,它应该让您的 React 应用程序正确指向服务器。

原文由 ousecTic 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题