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 相关文章推荐
MooTools 1.2中的Drag.Move来实现拖放
Sep 15 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
May 24 Javascript
静态页面html中跳转传值的JS处理技巧
Jun 22 Javascript
jquery实现界面无刷新加载登陆注册
Jul 30 Javascript
解决前端跨域问题方案汇总
Nov 20 Javascript
微信小程序左右滑动切换页面详解及实例代码
Feb 28 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
Apr 20 Javascript
jquery拖动改变div大小
Jul 04 jQuery
微信小程序wepy框架笔记小结
Aug 08 Javascript
koa上传excel文件并解析的实现方法
Aug 09 Javascript
JS实现数组删除指定元素功能示例
Jun 05 Javascript
Python机器学习之决策树和随机森林
Jul 15 Javascript
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
php下检测字符串是否是utf8编码的代码
2008/06/28 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
jquery中动态效果小结
2010/12/16 Javascript
返回页面顶部top按钮通过锚点实现(自写)
2013/08/30 Javascript
JS批量操作CSS属性详细解析
2013/12/16 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
python实现电子词典
2020/04/23 Python
python常用函数与用法示例
2019/07/02 Python
基于MATLAB和Python实现MFCC特征参数提取
2019/08/13 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
python实现小世界网络生成
2019/11/21 Python
django日志默认打印request请求信息的方法示例
2020/05/17 Python
加拿大时尚少女服装品牌:Garage
2016/10/10 全球购物
主要的Ajax框架都有什么
2013/11/14 面试题
体育专业个人的求职信范文
2013/09/21 职场文书
计算机毕业大学生推荐信
2013/12/01 职场文书
税务会计岗位职责
2014/02/18 职场文书
《沉香救母》教学反思
2014/04/19 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
群众路线四风自我剖析材料
2014/10/08 职场文书
优秀教师申报材料
2014/12/16 职场文书
行政助理岗位职责范本
2015/04/11 职场文书
解析目标检测之IoU
2021/06/26 Python
适合后台管理系统开发的12个前端框架(小结)
2021/06/29 Javascript