如何在特定路径上代理后端服务器?

时间:2016-01-19 22:30:41

标签: react-router webpack-dev-server

以下是路线配置:

<Route path='/' component={CoreLayout}>
  <IndexRoute component={HomeView}/>
  <Route path='/404' component={NotFoundView}/>
  <Redirect from='*' to='/404'/>
</Route>

以下是webpack-dev-server的代理配置:

proxy: {
  '/service': 'http://localhost:8080'
}

快速服务器侦听3000端口。

我希望发送给http://localhost:3000/service的所有请求都会转移到http://localhost:8080,但似乎react-router会处理所有请求而代理不起作用。

任何人都知道如何解决这个问题?提前谢谢

2 个答案:

答案 0 :(得分:1)

  1. 检查Webpack Dev Server文档,您需要提供具有目标属性的对象。

  2. http-proxy-middleware文档显示了使用模式进行匹配。

  3. 总之,我会尝试这个:

    proxy: {
      '/service/**': { target: 'http://localhost:8080' }
    }
    

答案 1 :(得分:0)

确保为API调用正确处理了Promise。我面临着同样的问题,其中客户端服务器正在处理所有API调用,而不是返回404错误和代理接管。

fetch("/api/list")
    .then(res => res.json())
    .then(data => {
      // handle the data
      })