vue 代理重定向_vue(2.x,3.0)配置跨域代理

本文介绍了如何在Vue 2.x 和 3.0 中配置代理以解决跨域问题。在Vue 3.0中,配置代理需在vue.config.js中进行,而Vue 2.x则在config/index.js的proxyTable中设置。通过设置target、changeOrigin和pathRewrite属性,可以实现对apis和service接口的代理,确保在开发环境中顺利进行API请求。
摘要由CSDN通过智能技术生成

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

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的配置跨域部分,记得配置完代理需重启项目!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值