我正在尝试使用reactJS和推送器创建一个聊天应用程序,我收到此错误 -
无法将请求/推送/身份验证从localhost:3000代理到 http:// localhost:5000(ECONNREFUSED)
在package.json文件中我已将代理设置为 -
"proxy": "http://localhost:5000"
Run Code Online (Sandbox Code Playgroud)
我localhost的定义是127.0.0.1在/etc/hosts文件中.
我还检查了端口可用性netstat,但这些似乎都是正确的.有人可以帮忙吗?
小智 21
我在我的 React 应用程序中遇到了同样的问题,我通过在 package.json 文件中的端口号后添加“/”来修复它(所以现在它是:“proxy”:“ http://localhost:5000/ ”)
小智 12
我遇到了类似的问题,但在 Mac 机器上。我改变localhost了127.0.0.1,这对我有用。
对于窗户:
"proxy": {
"/auth/google": {
"target": "localhost:5000"
}
}
Run Code Online (Sandbox Code Playgroud)
对于 Mac:
"proxy": {
"/auth/google": {
"target": "http://127.0.0.1:5000"
}
}
Run Code Online (Sandbox Code Playgroud)
小智 11
在您的服务器 package.json 中,将 --ignore 客户端添加到您的“开始”或“服务器”脚本中。所以它看起来像这样:
"scripts": {
"start": "node index.js",
"server": "nodemon index.js --ignore client"
}
Run Code Online (Sandbox Code Playgroud)
Ahm*_*nes 10
在服务器目录中
npm install --save http-proxy-middleware
Run Code Online (Sandbox Code Playgroud)
然后在客户端反应文件夹的 src 目录中创建一个具有此名称的文件:setupProxy.js
然后添加以下内容
const proxy = require("http-proxy-middleware");
module.exports = function(app) {
app.use(proxy("/api/**", { // https://github.com/chimurai/http-proxy-middleware
target: "http://localhost:5000",
secure: false
}));
};
Run Code Online (Sandbox Code Playgroud)
在代理配置中,确保您匹配任何带有双 ** 的路径,而不仅仅是 *
注意:您不会像那样在其他任何地方都需要此代理
注意:删除 package.json 中的任何其他代理设置 有关更多信息,请查看此参考
在您的节点模块中包括
{
...
"proxy": "http://127.0.0.1:5000"
}
Run Code Online (Sandbox Code Playgroud)
其中 ... 只是意味着您应该将代理 IP 附加到它。
另外,如果您使用的是 axios,则执行axios.post('api/users')工作而不是axios.post('/api/users')
对于那些使用 Docker 的人来说,如果你的docker-compose.yml样子是这样的:
services:
app:
...
depends_on:
- api
ports:
- 3000:xxxx
...
api:
...
ports:
- 5000:xxxx
...
Run Code Online (Sandbox Code Playgroud)
然后我们应该将代理 URL 设置为
"proxy": "http://host.docker.internal:5000"
Run Code Online (Sandbox Code Playgroud)
小智 5
在 package.json 文件中,只需在端口号后添加“/”,它就应该可以正常工作。
"proxy": "http://localhost:5000/"
Run Code Online (Sandbox Code Playgroud)
小智 1
如果您无法通过 telnet 连接到端口 5000 上的本地主机(如果没有安装 telnet,您可以下载并使用PuttY ),则意味着服务器未运行。
如果您使用的是 Windows 计算机,请转到在端口 5000 上运行的服务器的 package.json 并更改此行:
"start": "./node_modules/.bin/concurrently \"./node_modules/.bin/nodemon\" \"npm run client\"",
Run Code Online (Sandbox Code Playgroud)
对此:
"start": "./node_modules/.bin/concurrently \"npm run server\" \"npm run client\"",
Run Code Online (Sandbox Code Playgroud)
观察您的构建消息,您应该会看到类似于以下内容的内容:
[0] ==> API Server now listening on PORT 5000!
[1] Starting the development server...
[1]
[1] Compiled successfully!
[1]
[1] You can now view chat app in the browser.
[1]
[1] Local: http://localhost:3000/
[1] On Your Network: http://192.168.1.118:3000/
[1]
[1] Note that the development build is not optimized.
[1] To create a production build, use yarn build.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18449 次 |
| 最近记录: |