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

 更新时间:2019年04月10日 09:06:56   作者:破壳而出的蝌蚪  
这篇文章主要介绍了vue-cli3 中跨域解决方案,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下

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

前后端不在同一服务器的情况下,前端要访问后端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 中跨域解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • vue3 vite配置跨域及不生效问题解决

    vue3 vite配置跨域及不生效问题解决

    这篇文章主要介绍了vue3 vite配置跨域以及不生效问题,本文给大家分享完美解决方案,需要的朋友可以参考下
    2023-07-07
  • vue2+elementui进行hover提示的使用

    vue2+elementui进行hover提示的使用

    本文主要介绍了vue2+elementui进行hover提示的使用,主要分为外部和内部,具有一定的参考价值,感兴趣的可以了解一下
    2021-11-11
  • vue3中reactive的对象清空所引发的问题解决方案(清空不了和清空之后再去赋值就赋值不了)

    vue3中reactive的对象清空所引发的问题解决方案(清空不了和清空之后再去赋值就赋值不了)

    在使用reactive定义的变量时,直接赋值会失去响应式,为了清空 filters并确保响应式,可以使用Object.assign({}, filters)或者遍历对象逐个清除属性,本文介绍vue3中reactive的对象清空所引发的问题解决方案(清空不了和清空之后再去赋值就赋值不了),感兴趣的朋友一起看看吧
    2025-02-02
  • vue实现的请求服务器端API接口示例

    vue实现的请求服务器端API接口示例

    这篇文章主要介绍了vue实现的请求服务器端API接口,结合实例形式分析了vue针对post、get、patch、put等请求的封装与调用相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • vue.js移动端app实战1:初始配置详解

    vue.js移动端app实战1:初始配置详解

    这篇文章主要介绍了vue.js移动端app实战1:初始配置详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • vue之原生上传图片加水印并压缩图片大小方式

    vue之原生上传图片加水印并压缩图片大小方式

    文章介绍了如何使用Vue原生上传图片,并在图片上添加水印并压缩图片大小,首先,安装了相应的插件并进行封装,然后,介绍了添加水印的方法和上传图片的过程,最后,作者分享了自己的经验,并希望对大家有所帮助
    2025-01-01
  • 详解在vue中如何使用node.js

    详解在vue中如何使用node.js

    这篇文章主要给大家介绍了关于在vue中如何使用node.js的相关资料,vue和nodejs经常让新手们感到困惑,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • 一文教你如何优雅的控制全局loading的显示

    一文教你如何优雅的控制全局loading的显示

    在我们的平时的工作中,在前后端交互的时候,为了提高页面的观赏性和用户的体验,我们会在页面上添加loading来阻止用户操作来等待接口的返回,这篇文章主要给大家介绍了关于如何优雅的控制全局loading显示的相关资料,需要的朋友可以参考下
    2022-01-01
  • vue.js实现的绑定class操作示例

    vue.js实现的绑定class操作示例

    这篇文章主要介绍了vue.js实现的绑定class操作,结合实例形式分析了vue.js绑定class常见的3种操作技巧,需要的朋友可以参考下
    2018-07-07
  • vue-plugin-hiprint 详细使用

    vue-plugin-hiprint 详细使用

    这篇文章主要介绍了vue-plugin-hiprint 详细使用说明,使用Vue.Draggable库构建可拖拽元素的示例,你可以根据具体需求和技术选型选择适合的库或方法来实现可拖拽元素的功能,需要的朋友可以参考下
    2023-08-08

最新评论