详解webpack的proxyTable无效的解决方案。
webpack下配置proxyTable的问题
Vue-cli@2创建的项目,用的webpack,配置了 config/index.js :
1 | module.exports = { |
导入了axios:
1 | import axios from 'axios' |
请求的代码:
1 | login() { |
改完之后重启了项目,但是控制台显示请求的ip还是本地:
1 | POST http://localhost:8080/test/param1 404 (Not Found) |
解决方案
查了一下午的资料,基本上都差不多:
- 检查proxyTable中配置的域名
- 配置 webpack.baseUrl
- 配置完要重启应用才能生效
- 删掉node_modules重建项目
前几个方法都试了,没什么效果。甚至和以前的项目对比了,都没找到什么不同的地方。
最终解决(理解错误)
看了 详解webpack的proxyTable无效的解决方案 ,说可能是缓存的问题,我每次都有清理浏览器的缓存,不知道webpack还有缓存的,然后我尝试着将proxyTable中的端口换了一下,结果…就请求成功了!
1 | POST http://localhost:9004/test/param1 404 (Not Found) |
没想到这层原因,在这个问题上卡了一下午,心态崩溃。
正确的解决方案
其实是配置中target配置有问题:
例如后台地址:http://baidu.com/api/user/{userId}
本地项目地址为:http://localhost:8080
1 | //方式一,留空,不写 |