vue3不同环境下如何配置代理

在前端开发中,面对不同环境的接口转发需求,本文介绍了两种解决方案。第一种是在本地开发时添加额外的代理,如api2,但会导致前端环境与后端环境不一致的问题。第二种方案是通过配置nginx,让运维处理接口转发,确保前端和后端环境匹配,避免影响其他模块。同时,讨论了如何在vue.config.js中读取环境变量以及在package.json中设置不同环境的启动命令。
摘要由CSDN通过智能技术生成

实际开发的时候,经常会遇到并行开发的需求,会出现第一个需求接口转发是一个地址,下一个需求接口转发是一个地址,这时候如何解决呢?

第一种情况:前端也不申请多套环境。

本地开发时,多加个代理,比如叫api2,然后在当前需求的接口前面使用这个。
在这里插入图片描述

但是会出现个问题,前端页面加载后,只有涉及当前需求的模块接口是通的,其他模块的接口报错(并不是说其他模块有问题,其他模块已提测),因为你本地启动后,前端只有一套环境,但是后端有俩套环境,二者不一致。如果当前需求的模块数据依赖于之前模块,那测试流程将无法走下去。

第二种情况:前端也申请俩套环境,配置相应的nginx。一般都是由运维配置,这样前端按照之前开发模式来就可以了,无需多加代理,nginx会把当前需求转发到后端对应的当前接口环境上,其他模块也不影响。

其实就是打包的时候 后端讲代码合并到之前需求代码上了 这样一致 就不用影响了

还有个问题,这种情况下,前端的启动命令都是一样 如果想区分不同环境下执行不同命令来区分环境的话,如何实现?
在这里插入图片描述
vue.config里面添加读取的代码
在这里插入图片描述
package.jason里面这么写
在这里插入图片描述

Vue3中配置代理跨域可以通过修改vue.config.js文件来实现。在devServer中添加proxy配置项,示例如下: ```javascript module.exports = { devServer: { proxy: { '/api': { target: '跨域的地址', changeOrigin: true, pathRewrite: { '^/api': '' } } } } } ``` 其中,'/api'是代理标识,用于告诉node,url前面是/api的就是使用代理的。target是目标地址,一般是指后台服务器地址。changeOrigin设置为true表示开启跨域。pathRewrite的作用是把实际Request Url中的'/api'用""代替。 另外,为了方便管理多个接口代理,最好在请求路径前面加一个统一前缀,比如使用'/api'作为统一前缀。这样可以配置一个代理就能把这些接口的请求都代理好。示例如下: ```javascript module.exports = { devServer: { proxy: { '/api': { target: 'https://gk.work/relax', changeOrigin: true, pathRewrite: { '^/api': '' } } } } } ``` 在这个示例中,前台跑在127.0.0.1:8080,想要请求https://gk.work/relax,那么代理配置应该是'/api'。 另外,如果你想使用Vue环境变量来配置代理路径,可以使用process.env.VUE_APP_BASE_API。示例如下: ```javascript module.exports = { devServer: { proxy: { '/dev-api': { target: 'https://gk.work/relax', changeOrigin: true, pathRewrite: { \['^' + process.env.VUE_APP_BASE_API\]: '/api' } } } } } ``` 在这个示例中,代理路径使用了Vue环境变量process.env.VUE_APP_BASE_API,可以根据实际情况进行配置。 #### 引用[.reference_title] - *1* [VUE3跨域方案:配置代理](https://blog.csdn.net/qq_41760984/article/details/128334360)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Vue3 前端配置代理解决跨域](https://blog.csdn.net/qq_52697994/article/details/124620850)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值