详解webpack的proxyTable无效的解决方案


Posted in Javascript onJune 15, 2018

最近遇到这个需要单页访问跨域后台的问题。

可以按照如下设置:

proxyTable: {
'/list': {
target: 'http://api.xxxxxxxx.com',
pathRewrite: {
'^/list': '/list'
}
}
}

这样我们在写url的时候,只用写成/list/1就可以代表api.xxxxxxxx.com/list/1.

那么又是如何解决跨域问题的呢?其实在上面的'list'的参数里有一个changeOrigin参数,接收一个布尔值,如果设置为true,那么本地会虚拟一个服务端接收你的请求并代你发送该请求,这样就不会有跨域问题了,当然这只适用于开发环境。增加的代码如下所示:

proxyTable: {
'/list': {
target: 'http://api.xxxxxxxx.com',
changeOrigin: true,
pathRewrite: {
'^/list': '/list'
}
}
}

遇到了网上很多人说的,proxyTable无论如何修改,都没效果的现象。

经过几轮测试,总结出一下几种解决方案:

1.(非常重要)确保proxyTable配置的地址能访问,因为如果不能访问,在浏览器F12调试的时候看到的依然会是提示404。
并且注意,在F12看到的js提示错误的域名,是js写的那个域名,并不是代理后的域名。

另外配置正常的话,在idea的控制台,会有错误提示显示,例如:

  Your application is running here:http://localhost:8082                                                                                                                                                                                             [HPM] Error occurred while trying to proxy request /api/user/ts from localhost:8082 to http://localhost:1920/ (ECONNREFUSED)

2.(奇葩解决)个人感觉这个http代理的插件有缓存,proxyTable的修改会无效,这时候可以尝试修改启动项目的端口,就在proxyTable属性配置的下面几行有个port: 8080,改成其他,例如8081,就会有效,然后再改回来就好。

3.这个比较多人说了,就是要手动再执行一次npm run dev

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
070823更新的一个[消息提示框]组件 兼容ie7
Aug 29 Javascript
Javascript优化技巧(文件瘦身篇)
Jan 28 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
Jan 16 Javascript
Bootstrap table分页问题汇总
May 30 Javascript
javascript 定时器工作原理分析
Dec 03 Javascript
JavaScript模拟实现封装的三种方式及写法区别
Oct 27 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
Mar 26 Javascript
小程序中this.setData的使用和注意事项
Aug 28 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
Jan 16 Javascript
js实现点击选项置顶动画效果
Aug 25 Javascript
原生js实现表格翻页和跳转
Sep 29 Javascript
vue如何使用rem适配
Feb 06 Vue.js
vue中axios的封装问题(简易版拦截,get,post)
Jun 15 #Javascript
vue和webpack打包项目相对路径修改的方法
Jun 15 #Javascript
webpack公共组件引用路径简化小技巧
Jun 15 #Javascript
微信小程序自定义tab实现多层tab嵌套功能
Jun 15 #Javascript
微信小程序实现自定义modal弹窗封装的方法
Jun 15 #Javascript
详解vue组件开发脚手架
Jun 15 #Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
Jun 14 #Javascript
You might like
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
PHP执行速率优化技巧小结
2008/03/15 PHP
php array_key_exists() 与 isset() 的区别
2016/10/24 PHP
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
2016/01/10 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
JQuery实现定时刷新功能代码
2017/05/09 jQuery
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
分享19个JavaScript 有用的简写写法
2017/07/07 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
2020/07/28 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
python统计文本文件内单词数量的方法
2015/05/30 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
Python 多线程其他属性以及继承Thread类详解
2019/08/28 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
Python 实现一个计时器
2020/07/28 Python
Python实现粒子群算法的示例
2021/02/14 Python
Pamela Love官网:纽约设计师Pamela Love的精美、时尚和穿孔珠宝
2020/10/19 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
运动会通讯稿50字
2014/01/30 职场文书
村党支部公开承诺书
2014/05/29 职场文书
2014年手术室工作总结
2014/11/26 职场文书
老公出轨后的保证书
2015/05/08 职场文书
同事去世追悼词
2015/06/23 职场文书
公司员工奖惩制度
2015/08/04 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
python使用pymysql模块操作MySQL
2021/06/16 Python