详解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帮助之筛选查找 children([expr])
Jan 31 Javascript
jQuery对html元素取值与赋值的方法
Nov 20 Javascript
浮动的div自适应居中显示的js代码
Dec 23 Javascript
JS计算网页停留时间代码
Apr 28 Javascript
jQuery入门介绍之基础知识
Jan 13 Javascript
利用JavaScript脚本实现滚屏效果的方法
Jul 07 Javascript
Uploadify上传文件方法
Mar 16 Javascript
jquery中实现时间戳与日期相互转换
Apr 12 Javascript
JavaScript里 ==与===区别详解
Aug 16 Javascript
ES6中的箭头函数实例详解
Apr 06 Javascript
JavaScript常见JSON操作实例分析
Aug 08 Javascript
使用vue cli4.x搭建vue项目的过程详解
May 08 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
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
kmock javascript 单元测试代码
2011/02/06 Javascript
禁用页面部分JavaScript方法的具体实现
2013/07/31 Javascript
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
JS+DIV+CSS实现的经典标签切换效果代码
2015/09/14 Javascript
JavaScript中0和""比较引发的问题
2016/05/26 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
2017/02/14 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
JS中call和apply函数用法实例分析
2018/06/20 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
2019/06/24 Javascript
原生js实现分页效果
2020/09/23 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
python中的字典详细介绍
2014/09/18 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
python实现简单井字棋小游戏
2020/03/05 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
python 深度学习中的4种激活函数
2020/09/18 Python
Python高并发和多线程有什么关系
2020/11/14 Python
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
英国老牌潮鞋店:Offspring
2019/08/19 全球购物
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
贸易经济专业自荐书
2014/06/29 职场文书
2014年审计工作总结
2014/11/17 职场文书
2014年平安夜寄语
2014/12/08 职场文书
小学教师个人总结
2015/02/05 职场文书
求职简历自我评价2015
2015/03/10 职场文书
社会实践活动总结格式
2015/05/11 职场文书
在校学生证明格式
2015/06/24 职场文书
幼儿教师师德培训心得体会
2016/01/09 职场文书
《圆明园的毁灭》教学反思
2016/02/16 职场文书