如何在Create React App中使用Webpack devServer代理

时间:2019-01-03 15:11:50

标签: javascript reactjs webpack create-react-app

我正在使用create-react-app创建一个新应用,我想为我的代码添加一些代理。以前我使用过webpacks devServer

module.exports = {
  ...
  devServer: {
    proxy: {
      '/api/context*': {
        target: 'http://some.endpoint.com',
        headers: myCustomerHeaders,
        pathRewrite: (path, res) => changeThePath
      }
    }
  }
  ...
}

我已经尝试在webpack.config.dev.js和webpackDevServer.config.js中使用相同的方法,并将start.js作为proxyConfig传递给webpackDevServer.config.js。

我看到了src / setupProxy.js的著作,但是如果expressJs不在某个地方运行,它是否适用?无论如何,我尝试了一下却没有任何结果。我要代理的路径是我希望使用的测试环境api。

我已经使用create-react-app作为旧应用程序的新框架来升级它,我的旧项目可以使用代理设置。

现在,我正在使用create-react-app,我希望以同样的方式看似合理,但似乎我错了。有人认为我做错了吗?

1 个答案:

答案 0 :(得分:1)

您可以使用“ http-proxy-middleware”

https://github.com/chimurai/http-proxy-middleware

var express = require('express')
var proxy = require('http-proxy-middleware')

var app = express()

app.use('/api', proxy({ target: 'http://www.example.org', changeOrigin: true }))
app.listen(3000)