Vue-cli proxyTable 解决开发环境的跨域问题详解


Posted in Javascript onMay 18, 2017

和后端联调时总是会面对恼人的跨域问题,最近基于Vue开发项目时也遇到了这个问题,两边各自想了一堆办法,查了一堆资料,加了一堆参数,最后还得我把自己的localhost映射成上线时将要使用的域名。

今天翻看代码时,突然发现vue-cli的config文件里有一个参数叫proxyTable,看这个名字就感觉能解决问题,于是我就去搜了一下,果然。在vuejs-templates,也就是vue-cli的使用的模板插件里,有关于API proxy的说明,使用的就是这个参数。

https://vuejs-templates.github.io/webpack/proxy.html

这个参数主要是一个地址映射表,你可以通过设置将复杂的url简化,例如我们要请求的地址是api.xxxxxxxx.com/list/1,可以按照如下设置:

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'
  }
 }
}

vue-cli的这个设置来自于其使用的插件http-proxy-middleware

github:https://github.com/chimurai/http-proxy-middleware

深入了解的话可以看该插件配置说明,似乎还支持websocket,很强大的插件。

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

Javascript 相关文章推荐
js 通用javascript函数库整理
Aug 14 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
Nov 28 Javascript
JS实现的多张图片轮流播放幻灯片效果
Jul 22 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
Sep 19 Javascript
JavaScript实现移动端轮播效果
Jun 06 Javascript
详解React Native顶|底部导航使用小技巧
Sep 14 Javascript
JS实现仿微信支付弹窗功能
Jun 25 Javascript
angularJs select绑定的model取不到值的解决方法
Oct 08 Javascript
通过实践编写优雅的JavaScript代码
May 30 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
Nov 06 Javascript
JavaScript定时器使用方法详解
Mar 26 Javascript
jQuery 移除事件的方法
Jun 20 jQuery
Javascript实现倒计时时差效果
May 18 #Javascript
vue-cli webpack 开发环境跨域详解
May 18 #Javascript
JavaScript实现简单的星星评分效果
May 18 #Javascript
Javascript循环删除数组中元素的几种方法示例
May 18 #Javascript
Javascript实现信息滚动效果
May 18 #Javascript
详解Vue-cli 创建的项目如何跨域请求
May 18 #Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
May 18 #Javascript
You might like
一个显示天气预报的程序
2006/10/09 PHP
php验证码生成器
2017/05/24 PHP
设定php简写功能的方法
2019/11/28 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
<script defer> defer 是什么意思
2009/05/10 Javascript
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
2016/12/18 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
javascript编程实现栈的方法详解【经典数据结构】
2017/04/11 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
2019/03/07 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
[01:08:33]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
python 时间戳与格式化时间的转化实现代码
2016/03/23 Python
python3 中文乱码与默认编码格式设定方法
2018/10/31 Python
python3 pygame实现接小球游戏
2019/05/14 Python
python实现图片九宫格分割
2021/03/07 Python
CentOS7下安装python3.6.8的教程详解
2020/01/03 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
逃课上网检讨书
2014/02/20 职场文书
英语老师推荐信
2014/02/26 职场文书
云冈石窟导游词
2015/02/04 职场文书
承诺保证书格式
2015/02/28 职场文书
业务员管理制度范本
2015/08/06 职场文书
Apache压力测试工具的安装使用
2021/03/31 Servers
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android