proxy代理解决 vite-vue3 和 vuecli vue2 跨域的问题

本文详细介绍了如何在Vite创建的Vue3项目和VueCLI创建的Vue2项目中进行跨域配置。通过修改main.js和vue.config.js/vite.config.js文件,配置axios并使用代理解决跨域问题。文章还指出了Vue2和Vue3中全局挂载axios的差异,并展示了成功的跨域请求示例。

关于跨域,相信很多小伙伴都遇到过,这篇文章主要讲:如标题 vite 创建的 vue3 和 vuecli 创建的vue2 跨域的用法,以及他们语法上细微的区别:

注:接口暂时可以用

经典跨域:

6b3e8ae33b4e49edb026d563b0ce0be5.png

此时数据已经请求成功,但是同源策略限制,浏览器拒绝向我们展示资源

废话少说 以下解决问题 

因为两个项目都是用axios演示所以最先下载axios :

npm install axios

首先讲vuecli- vue2 跨域的用法 :第一步示例如下 

234c05db2f4249178b866dc01bf66929.png

 

 以上代码写在 main.js 入口文件中,此时配置好了axios默认请求地址(本地地址加项目运行端口)

注意:全局配置后 $http 就代表 axios 

在组件内请求的时候一定要在组件创建完成 也就是 最早在created内请求 

第二步 在vue.config.js 配置文件中设置:

f8ff39ede4ba4e50a3802ff9b5e1e8fe.png

 重新请求 

c8d19b762a09401ea1403fc35037b155.png

 this指向vue实例 ,而created生命周期之前 vue实例还未创建 所以不能用this setup 函数中同理

跨域成功:

0df7f3ee30dc4b19a4ac098f2d3f644f.png

 那么vue2 cli 说完 就该vite vue3 了

vuecli创建项目配置文件的是 vue.config.js  而 vite 创建的是 vite.config.js

第一步 打开main.js 写入以下axios配置

319e9f982cbd4f9aa404bac71443ea69.png

 此时可以看出与cli-vue2 项目配置的不同之处

vue2 在挂载全局axios的时候 用的是 Vue.prototype直接挂载到vue原型对像上

而vue3就是给你一个配置api :app.config.globalProperties  注意两者的差别

第二步在 vite.config.js 中配置  

8e1c02082a5647c8afdb675b1d36a973.png

 以上就是最简单的 proxy 跨域代理 (因为能删的都删了) 

直接调用

ef5edc35aef243e5bc1bb515d94c1853.png

 以上完 end 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值