Ang*_*elo 5 proxy localhost node.js reactjs
我正在遵循这个基本指南来设置一个同时运行 react 和 node 的本地开发环境。在 react 目录的 package.json 中添加“代理”:“ http://localhost:4001 ”语句后,我被卡住了。它一直说:代理错误:无法将请求 /flower 从 localhost:51427 代理到http://localhost:4001。
环境:不涉及身份验证。它只是一个样板 node.js 和 create-react-app 设置。create-react-app 版本是 3.0.1。我正在使用 Mac。
我尝试了以下方法来解决这个问题:
这是用于反应的包 json:
{
"name": "client",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.11.0",
"react-dom": "^16.11.0",
"react-scripts": "3.2.0"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"proxy": "http://localhost:4001"
}
Run Code Online (Sandbox Code Playgroud)
react 的 localhost 页面是空白的,而不是有文本。控制台日志还确认未收到任何数据。
经过无数次的搜索,我找到了问题并解决了!
首先,由于当我在 React 上运行 npm 命令时出现代理错误,我认为 package.json 中的代理语句正在工作。由于我也可以通过 localhost:4001 到达服务器,所以问题一定是 React 服务器以某种方式找不到 Node.js 服务器,即不在同一通信通道等中。
然后我搜索并发现问题与它们不同时运行有关(我还考虑了其他可能性,例如一个在 ipv4 上运行,另一个在 ipv6 上运行,但这似乎是最有可能的解决方案)。这个答案帮助我弄清楚如何实现它:Could not proxy request /pusher/auth from localhost:3000 to http://localhost:5000 (ECONNREFUSED)。
但是并发请求将会失败,因为当它尝试运行客户端时,它会失败,因为端口总是被堵塞。例如,当我运行“npm start --prefix client”时,即使我更改了 package.json 中的端口,它总是会报告“某些内容在端口 XXX 上运行”。然后我发现问题是没有为我的本地主机设置正确的配置,这个答案帮助我解决了:npm start 报告“有些东西已经在端口 XXX 上运行”,无论 XXX 是什么。
现在并发起来,终于可以工作了。
| 归档时间: |
|
| 查看次数: |
10487 次 |
| 最近记录: |