CRA-如何代理除特定请求以外的所有请求?

时间:2018-07-10 17:01:02

标签: webpack-dev-server create-react-app http-proxy-middleware

create-react-app docs说,您可以手动配置代理对象。我正在关注http-proxy-middleware docs on matching 排除特定路线,但没有起作用。

基本上,我是通过/app路由而不是root服务我的应用程序。所以我希望发生以下情况:

  1. /app/api代理我的后端服务http://localhost:3001
  2. 所有不以/app开头的请求 代理到http://cloud.my-app.com

这是我迄今为止没有尝试过的尝试:

  "homepage": "https://cloud.my-app.com/app",
  "proxy": {
    "/app/api": {                            // Works
      "target": "http://localhost:3001"
    },
    "!/app/*": {                             // Does not work
      "target": "https://cloud.my-app.com",
      "secure": false
    }
  },

我想念什么?

1 个答案:

答案 0 :(得分:0)

将以下内容添加为代理:

  "proxy": {
    "/app/api":{
      "target":"http://localhost:3001",    
   },
    "/.*/":{
      "target":"https://cloud.my-app.com",
      "secure":"false",
      "changeOrigin": true
   }
  }