详解vue-cli开发环境跨域问题解决方案


Posted in Javascript onJune 06, 2017

前后端分离开发中必要会遇到的问题—跨域。在使用vue开发的时候,开始为了解决跨域问题。采用的是CORS(Cross-origin resource sharing)。后台在响应头中添加Access-Control-Allow-Origin。这样就可以跨域调后台接口了。

在前几天无意中看到了config的index.js文件中有一个proxyTable属性,通过配置可以解决开发环境的跨域

开发期间的API代理

当将此样板与现有后端集成时,通常需要在使用dev服务器时访问后端API。为了实现这一点,我们可以并行(或远程)运行dev服务器和API后端,并让dev服务器将所有API请求代理到实际的后端。

要配置代理规则,请在其中编辑dev.proxyTable选项config/index.js。dev服务器正在使用http代理中间件进行代理,因此您应参考其文档以获取详细的用法。但这是一个简单的例子:

// config/index.js
module.exports = {
 // ...
 dev: {
 proxyTable: {
  // proxy all requests starting with /api to jsonplaceholder
  '/api': {
  target: 'http://jsonplaceholder.typicode.com',
  changeOrigin: true,
  pathRewrite: { //需要rewrite重写的, 如果在服务器端做了处理则可以不要这段
   '^/api': ''
  }
  }
 }
 }
}

上面的示例将代理请求/api/posts/1到http://jsonplaceholder.typicode.com/posts/1。

如果

pathRewrite: { 
‘^/api': ‘api' 
},

则将代理请求/api/posts/1到http://jsonplaceholder.typicode.com/api/posts/1。

网址匹配

除了静态网址之外,您还可以使用glob模式来匹配URL,例如/api/**。有关详细信息,请参阅上下文匹配。此外,您可以提供一个filter可以是自定义函数的选项,以确定请求是否应被代理:

proxyTable: {
 '*': {
 target: 'http://jsonplaceholder.typicode.com',
 filter: function (pathname, req) {
  return pathname.match('^/api') && req.method === 'GET'
 }
 }
}

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

Javascript 相关文章推荐
JS 类型转换常见方法小结
May 31 Javascript
jQuery实现点击标题输入详细信息
Apr 16 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
Dec 31 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
Mar 05 Javascript
js实现div闪烁原理及实现代码
Jun 24 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
Sep 25 Javascript
Bootstrap进度条组件知识详解
May 01 Javascript
基于JS实现省市联动效果代码分享
Jun 06 Javascript
js遍历获取表格内数据的方法(必看)
Apr 06 Javascript
用Golang运行JavaScript的实现示例
Nov 25 Javascript
js实现多图和单图上传显示
Dec 18 Javascript
原生js实现放大镜组件
Jan 22 Javascript
JS实现微信里判断页面是否被分享成功的方法
Jun 06 #Javascript
详解Vue 开发模式下跨域问题
Jun 06 #Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
Jun 06 #Javascript
深入理解vue-loader如何使用
Jun 06 #Javascript
利用webstrom调试Vue.js单页面程序的方法教程
Jun 06 #Javascript
JavaScript实现一个空中避难的小游戏
Jun 06 #Javascript
vue脚手架vue-cli的学习使用教程
Jun 06 #Javascript
You might like
PHP 反射机制实现动态代理的代码
2008/10/22 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
2014/06/05 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
2017/12/19 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
2018/09/01 jQuery
JS 验证码功能的三种实现方式
2018/11/26 Javascript
VSCode搭建React Native环境
2020/05/07 Javascript
bootstrap实现tab选项卡切换
2020/08/09 Javascript
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
Python实现删除文件但保留指定文件
2015/06/21 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
python使用turtle库绘制树
2018/06/25 Python
Django异步任务之Celery的基本使用
2019/03/23 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
python迭代器常见用法实例分析
2019/11/22 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
韩都衣舍天猫官方旗舰店:天猫女装销售总冠军
2017/10/10 全球购物
中间件的定义
2016/08/09 面试题
2014年大学生自我评价
2014/01/19 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
员工保密协议书
2014/09/27 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
昆虫记读书笔记
2015/06/26 职场文书
浪漫的婚礼主持词
2015/06/30 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
从np.random.normal()到正态分布的拟合操作
2021/06/02 Python
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis