详解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 相关文章推荐
csdn 批量接受好友邀请
Feb 19 Javascript
面向对象的javascript(笔记)
Oct 06 Javascript
深入理解Javascript中的循环优化
Nov 09 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
May 29 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
Aug 07 Javascript
javascript 事件处理示例分享
Dec 31 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
May 12 Javascript
JavaScript中用let语句声明作用域的用法讲解
May 20 Javascript
JS代码实现根据时间变换页面背景效果
Jun 16 Javascript
JavaScript数值千分位格式化的两种简单实现方法
Aug 01 Javascript
Koa从零搭建到Api实现项目的搭建方法
Jul 30 Javascript
在Vue中创建可重用的 Transition的方法
Jun 02 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
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
javascript学习(一)构建自己的JS库
2013/01/02 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
IE、FF浏览器下修改标签透明度
2014/01/28 Javascript
浅谈javascript的调试
2015/01/28 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
微信小程序模板消息推送的两种实现方式
2019/08/27 Javascript
Python函数参数类型*、**的区别
2015/04/11 Python
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
基于django传递数据到后端的例子
2019/08/16 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
PHP开发的一般流程
2013/08/13 面试题
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
酒店节能减排方案
2014/05/26 职场文书
公司周年庆典标语
2014/10/07 职场文书
保证书格式
2015/01/16 职场文书
公司股份转让协议书范本
2015/01/28 职场文书
初中政治教学工作总结
2015/08/13 职场文书
2016七一建党节慰问信
2015/11/30 职场文书
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python
JavaScript中isPrototypeOf函数
2021/11/07 Javascript
详解Python flask的前后端交互
2022/03/31 Python
Java 多线程并发FutureTask
2022/06/28 Java/Android