这篇文章主要介绍了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中为空
proxyTable: { '/apis': { target: "https://www.baidu.com/", // 目标地址 changeOrigin: true, // 是否跨域 pathRewrite: { // 重定向地址 '^/apis': '' } } },
上述就是vue3.0和2.x的配置跨域部分,记得配置完代理需重启项目!!!
感谢你能够认真阅读完这篇文章,希望小编分享的“vue如何配置跨域代理”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。