Vue3前端访问后端API的两个配置(axios中的baseURL与vite.config.js中的proxy)
创始人
2025-01-16 14:35:31
0

这两个配置分别是做什么用的?

axios的baseURL:

用于设置请求的基础路径,所有的请求都会以这个baseURL作为前缀(比如http://localhost:3000),这样当你写axios请求的时候就不用每次都重复写这个前缀了

vite.config.js的proxy:

proxy是用于开发环境中解决跨域问题的配置,比如你的后端运行在localhost:3000,前端运行在localhost:5173,这时候就需要用到proxy,proxy可以将特定的API代理到另一个服务器,这样就可以绕过浏览器同源策略的限制,从而顺利的访问后端接口。

如果你使用的是Vue CLI构建工具,而不是Vite构建工具,那么proxy在vue.config.js文件中配置,作用都是一样的

值得注意的是,vite.config.js中进行的所有配置都只在开发环境中有效,使用vite build命令打包时这个文件不会被构建进打包后的文件,所以说vite.config.js中的proxy是用于"开发环境解决跨域问题的配置"。

如何进行合理配置?

如上所述,这两个配置是用于不同用途的,所以在实际的开发过程中,你可能会同时使用这两种配置,通常是先通过axios的baseURL来配置基础路径,然后用vite的proxy来解决跨域问题。

axios的baseURL:
import axiso from 'axios'  //创建axios实例,如果不创建实例也可以直接更改axios.defaults.baseURL const api = axios.create({     baseURL:'https://localhost:3000' })  //然后,使用axios实例来发送请求 api.get('/users').then((res) => {})
vite.config.js的proxy:
improt { defineConfig } from 'vite'  export default defineConfig({     server:{         proxy:{             //将以/api开头的请求代理到目标服务器             '/api':{             target:'https:localhost:3000',             changeOrigin:true,             rewrite:(path) => path.replace(/^\/api/,'')         }     } })         

proxy接受一个对象,对象的键代表路径的匹配模式,可以使用正则表达式进行匹配。

changeOrigin参数的作用是改变带请求的源,当设置为true时,它会将HTTP请求头中的Host字段改为目标服务器的地址,使其看起来是从目标服务器发起的,从而绕过浏览器的同源策略的限制。

rewrite可以实现路径重写,接受一个函数,函数的返回值就是重写后的路径,值得一提的是,实际上使用rewrite参数也可以实现类似axios的baseURL在请求前面添加一个基础路径的功能,且项目打包后会失效。这样做的好处是当你在开发过程中使用前后端分离的模式,而部署时将前端项目作为静态文件与后端部署在一起时,就不用在部署过程中修改baseURL代码了,因为部署后实际不需要配置baseURL也不存在跨域问题了。

相关内容

热门资讯

一分钟内幕!科乐吉林麻将系统发... 一分钟内幕!科乐吉林麻将系统发牌规律,福建大玩家确实真的是有挂,技巧教程(有挂ai代打);所有人都在...
一分钟揭秘!微扑克辅助软件(透... 一分钟揭秘!微扑克辅助软件(透视辅助)确实是有挂(2024已更新)(哔哩哔哩);1、用户打开应用后不...
五分钟发现!广东雀神麻雀怎么赢... 五分钟发现!广东雀神麻雀怎么赢,朋朋棋牌都是是真的有挂,高科技教程(有挂方法)1、广东雀神麻雀怎么赢...
每日必看!人皇大厅吗(透明挂)... 每日必看!人皇大厅吗(透明挂)好像存在有挂(2026已更新)(哔哩哔哩);人皇大厅吗辅助器中分为三种...
重大科普!新华棋牌有挂吗(透视... 重大科普!新华棋牌有挂吗(透视)一直是有挂(2021已更新)(哔哩哔哩)1、完成新华棋牌有挂吗的残局...
二分钟内幕!微信小程序途游辅助... 二分钟内幕!微信小程序途游辅助器,掌中乐游戏中心其实存在有挂,微扑克教程(有挂规律)二分钟内幕!微信...
科技揭秘!jj斗地主系统控牌吗... 科技揭秘!jj斗地主系统控牌吗(透视)本来真的是有挂(2025已更新)(哔哩哔哩)1、科技揭秘!jj...
1分钟普及!哈灵麻将攻略小,微... 1分钟普及!哈灵麻将攻略小,微信小程序十三张好像存在有挂,规律教程(有挂技巧)哈灵麻将攻略小是一种具...
9分钟教程!科乐麻将有挂吗,传... 9分钟教程!科乐麻将有挂吗,传送屋高防版辅助(总是存在有挂)1、完成传送屋高防版辅助透视辅助安装,帮...
每日必看教程!兴动游戏辅助器下... 每日必看教程!兴动游戏辅助器下载(辅助)真是真的有挂(2025已更新)(哔哩哔哩)1、打开软件启动之...