详解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 相关文章推荐
从Ajax到JQuery Ajax学习
Feb 14 Javascript
基于mootools插件实现遮罩层新手引导
May 24 Javascript
js中的referrer返回上一页使用介绍
Sep 26 Javascript
显示今天的日期js代码(阳历和农历)
Sep 30 Javascript
AngularJS HTML编译器介绍
Dec 06 Javascript
javascript中的五种基本数据类型
Aug 26 Javascript
Sublime Text 3常用插件及安装方法
Dec 16 Javascript
JavaScript数组实现数据结构中的队列与堆栈
May 26 Javascript
prototype与__proto__区别详细介绍
Jan 09 Javascript
vue-router的两种模式的区别
May 30 Javascript
浅谈vue项目用到的mock数据接口的两种方式
Oct 09 Javascript
ES6之Proxy的get方法详解
Oct 11 Javascript
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
mac下多个php版本快速切换的方法
2016/10/09 PHP
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
2017/09/18 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
JavaScript解析机制与闭包原理实例详解
2019/03/08 Javascript
浅谈layui里的上传控件问题
2019/09/26 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
举例讲解Python的Tornado框架实现数据可视化的教程
2015/05/02 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
python3 写一个WAV音频文件播放器的代码
2019/09/27 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
如何用css3实现switch组件开关的方法
2018/02/09 HTML / CSS
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
介绍一下.net和Java的特点和区别
2012/09/26 面试题
理工大学毕业生自荐信
2013/11/01 职场文书
高二政治教学反思
2014/02/01 职场文书
母亲节感恩寄语
2014/02/21 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
师德标兵先进事迹材料
2014/12/19 职场文书
个人年度总结报告
2015/03/09 职场文书
董事长助理工作总结2015
2015/07/23 职场文书
《三国志》赏析
2019/08/27 职场文书
Filebeat 采集 Nginx 日志的方法
2021/03/31 Servers
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python
Javascript之datagrid查询详解
2021/09/15 Javascript
vue3获取当前路由地址
2022/02/18 Vue.js
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js