详解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 相关文章推荐
用Node.js通过sitemap.xml批量抓取美女图片
May 28 Javascript
基于vue.js实现图片轮播效果
Dec 01 Javascript
浅析BootStrap中Modal(模态框)使用心得
Dec 24 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
Feb 14 Javascript
node.js实现登录注册页面
Apr 08 Javascript
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
vue移动端html5页面根据屏幕适配的四种解决方法
Oct 19 Javascript
vue路由切换之淡入淡出的简单实现
Oct 31 Javascript
jquery向后台提交数组的代码分析
Feb 20 jQuery
微信小程序后端实现授权登录
Feb 24 Javascript
js实现时间日期校验
May 26 Javascript
vue+elementUI 实现内容区域高度自适应的示例
Sep 26 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 简单数组排序实现代码
2009/08/05 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
详解PHP PDO简单教程
2019/05/28 PHP
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
2012/01/04 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
2015/12/20 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
2016/08/29 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
node中modules.exports与exports导出的区别
2018/06/08 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
2019/05/07 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
python实现rest请求api示例
2014/04/22 Python
详解Python3注释知识点
2019/02/19 Python
利用Python库Scapy解析pcap文件的方法
2019/07/23 Python
Pytorch DataLoader 变长数据处理方式
2020/01/08 Python
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
应届毕业生自我评价分享
2013/12/15 职场文书
班级寄语大全
2014/04/10 职场文书
我的画教学反思
2014/04/28 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
假期读书倡议书3篇
2019/08/19 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python
Pandas数据类型之category的用法
2021/06/28 Python
APP界面设计技巧和注意事项
2022/04/29 杂记