vue如何配置跨域代理

这篇文章主要介绍了vue如何配置跨域代理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的汤旺网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

导语:首先,每一个前端开发人员都应该知道同源策略,同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源,所谓同源是指,域名,协议,端口相同。有一个不同时,都将请求不到资源,将无法“跨域”获取资源。

vue如何配置跨域代理

vue3.0

从最新版开始,首先是在所有请求的文件中写好请求

import Vue from 'vue'
import axios from 'axios'
import VueAxios from 'vue-axios'

Vue.use(VueAxios, axios)

let apiCrfCod = Vue.axios.create({
 method: 'GET',
 baseURL: '/apis/' 
})

let apiResource = Vue.axios.create({
 method: 'GET',
 baseURL: '/service/'
})

getServiceChannels: (opts) => {
 return apiCrfCod({
  url: '/rest/collection/getService/XXXX', // 此处写地址,不具体举例
  params: {
  ...opts
  }
 })
 }

在vue.config.js中配置代理

module.exports = {
 baseUrl: '',
 outputDir: 'dist',
 devServer: {
 // 配置服务器代理
 proxy: {
  "/apis": { // 代理接口前缀为/apis的请求
  "target": 'https://www.baidu.com/', // 对应的代理地址
  "secure": false, // 接受运行在https上,默认不接受
  "changeOrigin": true, // 如果设置为true,那么本地会虚拟一个服务器接收你的请求并代你发送该请求,这样就不会有跨域问题(只适合开发环境)
  "pathRewrite": { //重写路径 比如'/apis/aaa/ccc'重写为'/aaa/ccc'
   '^/apis': ''
   }
  },
  // 配置多个代理
  "/service": {
  "target": 'https://www.google.com/',
  "secure": false,
  "changeOrigin": true,
  },
 }
 },
}

vue2.X

请求还是按上述代码,下面是配置代理部分

在config文件夹下的index.js中,配置proxyTable,原本的proxyTable中为空

vue如何配置跨域代理

proxyTable: {
  '/apis': {
  target: "https://www.baidu.com/", // 目标地址
  changeOrigin: true, // 是否跨域
  pathRewrite: { // 重定向地址
   '^/apis': ''
   }
  }
 },

上述就是vue3.0和2.x的配置跨域部分,记得配置完代理需重启项目!!!

感谢你能够认真阅读完这篇文章,希望小编分享的“vue如何配置跨域代理”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


名称栏目:vue如何配置跨域代理
文章来源:http://hbruida.cn/article/jocidg.html