首页 > 解决方案 > 如何在生产环境中为 Webpack 设置代理

问题描述

不知道为什么我不能谷歌这个,但我似乎无法弄清楚如何在我的 create-react-app 的 webpack.config.prod.js 文件中代理我的 api 调用。将它放在 package.json 文件中是行不通的,因为我需要在本地使用不同的代理。

我在 webpackDevServer.config.js 中设置了它,把它放在module.exports对象中效果很好。但是当我在 webpack.config.prod.js 中执行相同操作时,它无法构建。如何为产品设置这个?

proxy: {
  '/myService/*': 'https://myServiceEndPoint/',
},

标签: javascriptwebpackcreate-react-app

解决方案


代理不适用于生产环境。

https://github.com/facebook/create-react-app/issues/1087#issuecomment-262611096

在生产中,CRA 会生成一个静态包。在这一点上,你可以用它做任何你想做的事情。代理的概念在那里没有意义,因为没有开发服务器。使用任何服务器为捆绑提供服务取决于您,您确实可以根据 process.env.NODE_ENV 或自定义环境变量调整 API 调用 URL


推荐阅读