详解vue-cli3 中跨域解决方案


Posted in Javascript onApril 10, 2019

此方案只能用于开发环境,线上最好设置同源策略(遇到个后端,装你妈批)

前后端不在同一服务器的情况下,前端要访问后端API,可通过在vue.config.js中配置代理服务器。

0:前提条件

1:安装vue-lic

2:安装axios  用于发送请求。

1:将任何未知请求转发到代理服务器

如:

前端地址:127.0.0.1

后端地址:127.0.0.2

当访问地址为 127.0.0.1/api,没有匹配到这地址,那么就会被转发到代理服务器127.0.0.2/api

module.exports={
  devServer:{
    proxy: "http://www.acfun.cn"
  }
}

2:多代理控制

更多代理服务配置项搜索http-proxy-middleware查看

module.exports = {
  devServer: {
    proxy: {
      '/search': {  // search为转发路径
        target: 'http://www.acfun.cn', // 目标地址
        ws: true, // 是否代理websockets
        changeOrigin: true  // 设置同源 默认false,是否需要改变原始主机头为目标URL,        
      }
    }
  }
};

如:

当前访问地址为  xxx.xxx.xxx/search时,就会被转发到代理服务器http://www.acfun.cn/search

xxx.xxx.xxx/search -> http://www.acfun.cn/search

 3:实例

api.js 文件(主要用于全局配置)

import Axios from "axios";

let http = Axios.create({
  timeout: 3000,  //超时配置 3秒
  responseType: 'json',  // 响应数据格式
  responseEncoding: 'utf8', // 响应数据编码
});

export default http;

入口文件  main.js

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import http from "./api";  // 引用axios全局配置

Vue.config.productionTip = false;

Vue.prototype.$http = http;  // 添加原型方法,这样创建的对象就自带该方法了。

new Vue({
  router,
  render: h => h(App)
}).$mount("#app");

vue.config.js 配置文件

更多代理服务配置项搜索http-proxy-middleware查看

module.exports = {
  devServer: {
    proxy: {
      '/search': {
        target: 'http://www.acfun.cn',
        ws: true,//是否代理websockets
        changeOrigin: true  // 设置同源 默认false,是否需要改变原始主机头为目标URL
      }
    }
  }
};

总结

以上所述是小编给大家介绍的vue-cli3 中跨域解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 研究心得 取得属性的值
Nov 30 Javascript
用Jquery重写windows.alert方法实现思路
Apr 03 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
Jun 05 Javascript
jQuery实现的多屏图像图层切换效果实例
May 07 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
May 09 Javascript
javascript动态添加删除tabs标签的方法
Jul 06 Javascript
探讨JavaScript中的Rest参数和参数默认值
Jul 29 Javascript
js密码强度实时检测代码
Mar 02 Javascript
利用JS实现页面删除并重新排序功能
Dec 09 Javascript
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 jQuery
使用live-server快速搭建本地服务器+自动刷新的方法
Mar 09 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
Mar 06 Javascript
js中数组常用方法总结(推荐)
Apr 09 #Javascript
JS隐藏号码中间4位代码实例
Apr 09 #Javascript
vue 点击展开显示更多(点击收起部分隐藏)
Apr 09 #Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
Apr 09 #Javascript
关于vue状态过渡transition不起作用的原因解决
Apr 09 #Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
Apr 09 #Javascript
Angular脚手架开发的实现步骤
Apr 09 #Javascript
You might like
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
php多线程并发实现方法
2016/09/30 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
浅谈Laravel核心解读之Console内核
2018/12/02 PHP
动态表格Table类的实现
2009/08/26 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
js+cookies实现悬浮购物车的方法
2015/05/25 Javascript
AngularJS初始化静态模板详解
2016/01/14 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
PhotoSwipe异步动态加载图片方法
2016/08/25 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
Validform验证时可以为空否则按照指定格式验证
2017/10/20 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
koa-router源码学习小结
2018/09/07 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
python异步任务队列示例
2014/04/01 Python
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
python 拼接文件路径的方法
2018/10/23 Python
解决python中画图时x,y轴名称出现中文乱码的问题
2019/01/29 Python
Python Django给admin添加Action的方法实例详解
2019/04/29 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
如何在django中运行scrapy框架
2020/04/22 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
Tirendo比利时:在线购买轮胎
2018/10/22 全球购物
工程班组长岗位职责
2013/12/30 职场文书
转让协议书范本
2014/04/15 职场文书
品质口号大全
2014/06/17 职场文书
党的群众路线教育实践活动督导组工作情况汇报
2014/10/28 职场文书
内勤岗位职责
2015/02/10 职场文书
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python