详解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 相关文章推荐
10个基于浏览器的JavaScript调试工具分享
Feb 07 Javascript
HTML Color Picker(js拾色器效果)
Aug 27 Javascript
javascript中parentNode,childNodes,children的应用详解
Dec 17 Javascript
jQuery实现下拉框左右选择的简单实例
Feb 22 Javascript
基于javascript实现单选及多选的向右和向左移动实例
Jul 25 Javascript
jQuery实现带玻璃流光质感的手风琴特效
Nov 20 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
Apr 21 Javascript
javascript计算渐变颜色的实例
Sep 22 Javascript
详解JSONObject和JSONArray区别及基本用法
Oct 25 Javascript
JS实现HTML页面中动态显示当前时间完整示例
Jul 30 Javascript
Vue实现滑动拼图验证码功能
Sep 15 Javascript
jQuery实现容器间的元素拖拽功能
Dec 01 jQuery
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
使用Apache的rewrite技术
2006/06/22 PHP
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
可以在线执行PHP代码包装修正版
2008/03/15 PHP
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
PHP的命令行命令使用指南
2015/08/18 PHP
PHP构造函数与析构函数用法示例
2016/09/28 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
js获取页面description的方法
2015/05/21 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
Python中针对函数处理的特殊方法
2014/03/06 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
2018/01/04 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
pandas中ix的使用详细讲解
2020/03/09 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
中英文自我评价常用句型
2013/12/19 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
考试作弊检讨书怎么写?
2014/12/21 职场文书
文艺节目主持词
2015/07/06 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
node快速搭建后台的实现步骤
2022/02/18 NodeJs
MySQL日期时间函数知识汇总
2022/03/17 MySQL