详解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鼠标拖拽实例分析
Nov 23 Javascript
JS锚点的设置与使用方法
Sep 05 Javascript
Vue.js计算属性computed与watch(5)
Dec 09 Javascript
javascript-解决mongoose数据查询的异步操作
Dec 22 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
Jan 04 Javascript
JavaScript Uploadify文件上传实例
Feb 28 Javascript
JS实现留言板功能
Jun 17 Javascript
js实现数组内数据的上移和下移的实例
Nov 14 Javascript
JavaScript设计模式之代理模式简单实例教程
Jul 03 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
Sep 27 Javascript
JSON生成Form表单的方法示例
Nov 21 Javascript
node.js的http.createServer过程深入解析
Jun 06 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通用防注入程序 推荐
2011/02/26 PHP
php删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
php判断正常访问和外部访问的示例
2014/02/10 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
Javascript操作表单实例讲解(下)
2016/06/20 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
js获取ip和地区
2017/03/10 Javascript
vue component组件使用方法详解
2017/07/14 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
JavaScript实现简单日历效果
2020/09/11 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
[01:49]一目了然!DOTA2DotA快捷操作对比第二弹
2014/05/16 DOTA
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
结合CSS3的布局新特征谈谈常见布局方法
2016/01/22 HTML / CSS
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
信息工程学院毕业生推荐信
2013/11/05 职场文书
安全保证书范文
2014/04/29 职场文书
选秀节目策划方案
2014/06/06 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
群众路线查摆问题及整改措施
2014/10/10 职场文书
单独二胎证明
2015/06/24 职场文书
4种非常实用的python内置数据结构
2021/04/28 Python
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL