详解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插件jqeuryUI做网页对话框效果!简单
Apr 14 Javascript
node.js中的path.sep方法使用说明
Dec 08 Javascript
js全选实现和判断是否有复选框选中的方法
Feb 17 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
Oct 29 Javascript
纯JavaScript手写图片轮播代码
Oct 20 Javascript
详解VUE 数组更新
Dec 16 Javascript
浅谈mvvm-simple双向绑定简单实现
Apr 18 Javascript
微信小程序实现单选选项卡切换效果
Jun 19 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
Jun 18 jQuery
Vue.js递归组件实现组织架构树和选人功能
Jul 04 Javascript
D3.js 实现带伸缩时间轴拓扑图的示例代码
Jan 20 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
Apr 16 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中其实也可以用方法链
2011/11/10 PHP
PHP文件注释标记及规范小结
2012/04/01 PHP
php随机输出名人名言的代码
2012/10/07 PHP
PHPThumb图片处理实例
2014/05/03 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
YUI的Tab切换实现代码
2010/04/11 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
vue自定义底部导航栏Tabbar的实现代码
2018/09/03 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
微信小程序实现图片上传
2019/05/23 Javascript
vue中提示$index is not defined错误的解决方式
2020/09/02 Javascript
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
Python简单定义与使用二叉树示例
2018/05/11 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
python中JWT用户认证的实现
2020/05/18 Python
Python接收手机短信的代码整理
2020/08/02 Python
Python 列表推导式需要注意的地方
2020/10/23 Python
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
有模特经验的简历自我评价
2013/09/19 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
总经理助理岗位职责
2015/01/31 职场文书
个人先进事迹总结
2015/02/26 职场文书
2015年预算员工作总结
2015/05/14 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL