Javascript 更改package.json中的代理不起作用

Javascript 更改package.json中的代理不起作用,javascript,reactjs,web,webpack,nodes,Javascript,Reactjs,Web,Webpack,Nodes,我使用CreateReact应用程序创建了一个项目,这个项目正在运行 当我想从我的应用程序向发出请求时,我正在package.json文件中设置代理,该文件不起作用 componentDidMount() { fetch('/api/si') .then(response => { console.log(response); return response.json(); }) } package.json "proxy

我使用CreateReact应用程序创建了一个项目,这个项目正在运行

当我想从我的应用程序向发出请求时,我正在package.json文件中设置代理,该文件不起作用

componentDidMount() {
     fetch('/api/si')
      .then(response => {
        console.log(response);
        return response.json();
      })
}
package.json

"proxy":"http://localhost:3090/api"
这里我预期的调用是localhost:3090/api/si,但它指向3000,这是我的客户机服务器。我尝试了多种组合,但没有效果


尝试从中删除/api

"proxy":"http://localhost:3090/api"
或者试试看

componentDidMount() {
 fetch('/si')
  .then(response => {
    console.log(response);
    return response.json();
  })
}

换一个

如果有多个代理,您可以执行以下操作:

"proxy": {
  "/auth/*": {
    "target": "http://localhost:5000"
  },
  "/api/*": {
    "target": "http://localhost:3090"
  }
}

我在这个问题上也遇到了麻烦,对我来说,解决方案是从
fetch
切换到
axios
(无论如何,我发现这是一个更友好的API)

试着这样做:

在项目根目录中:

import axios from "axios";

componentDidMount() {
     axios('/api/si')
      .then(response => {
        console.log(response);
        return response.json();
      })
}
npm安装axios

在您的代码中:

import axios from "axios";

componentDidMount() {
     axios('/api/si')
      .then(response => {
        console.log(response);
        return response.json();
      })
}

注意:我还没有测试您的特定用例,所以如果这不起作用,请建议进行编辑。主要的一点是,对于我的API请求,从
axios
切换到
fetch
允许我使用
package.json
中的
proxy
设置,没有任何问题

我做了,但没有luckin案例的多个代理我如何配置我已经编辑了答案并添加了多个代理案例,请检查我尝试了,但得到错误“代理必须是字符串”