今天用create-react-app创建了一个项目。调试的时候发现页面上的一些资源需要转发到其他服务上。然后用yarn eject展开webpack的相关配置,想配置一个webpack-dev-server的proxy。看到scripts/start.js里面,proxy是在package.json里面配置的。一阵窃喜之后的一记报错然我觉得我自己还是太年轻。
// package.json
"proxy": {
"/resource": {
"target": "http://localhost/static/"
}
}
报错:
仔细看了下scripts/start.js里面proxy的处理逻辑。发现最后是直接传给webpackDevServer.config的。那就很简单了,我们直接修改webpackDevServer.config里面的proxy,简单粗暴轻松有效。
proxy: {
"/resource/": {
target: "http://localhost",
changeOrigin: true,
"pathRewrite": {
"^/resource/": "/static/",
},
}
},