vue3配置代理跨域
时间: 2023-08-24 11:14:24 浏览: 139
在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 ]
阅读全文