详解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 相关文章推荐
ie6下png图片背景不透明的解决办法使用js实现
Jan 11 Javascript
JQUERY对单选框(radio)操作的小例子
Apr 25 Javascript
js替换字符串的所有示例代码
Jul 23 Javascript
jquery实现的网页自动播放声音
Apr 30 Javascript
js控制文本框只输入数字和小数点的方法
Mar 10 Javascript
JS给swf传参数的实现方法
Sep 13 Javascript
详解javascript立即执行函数表达式IIFE
Feb 13 Javascript
Node.js与Sails redis组件的使用教程
Feb 14 Javascript
Angular.js自定义指令学习笔记实例
Feb 24 Javascript
css和js实现弹出登录居中界面完整代码
Nov 26 Javascript
微信小程序实现简单评论功能
Nov 28 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
Mar 11 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使用qr生成二维码的示例分享
2014/01/20 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
2015/07/09 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
PHP引用返回用法示例
2016/05/28 PHP
php设计模式之单例模式代码
2016/06/11 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
JS网络游戏-(模拟城市webgame)提供的一些例子下载
2007/10/14 Javascript
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
js获取字符串字节数方法小结
2015/06/09 Javascript
解析JavaScript的ES6版本中的解构赋值
2015/07/28 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
javascript常用函数(2)
2015/11/05 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
vue底部加载更多的实例代码
2018/06/29 Javascript
小程序开发基础之view视图容器
2018/08/21 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
python如何实现反向迭代
2018/03/20 Python
Python闭包函数定义与用法分析
2018/07/20 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
python程序文件扩展名知识点详解
2020/02/27 Python
python实现提取COCO,VOC数据集中特定的类
2020/03/10 Python
python判断变量是否为列表的方法
2020/09/17 Python
Python 多进程原理及实现
2020/12/21 Python
详解基于 Canvas 手撸一个六边形能力图
2019/09/02 HTML / CSS
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
大龄毕业生求职别忘职业规划
2014/03/11 职场文书
捐助感谢信
2015/01/22 职场文书
庆祝教师节活动总结
2015/03/23 职场文书
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL