vue.config.js配置proxy无效
时间: 2023-12-09 16:06:50 浏览: 253
根据提供的引用[1],vue.config.js配置proxy无效的原因可能是因为proxy的值应该是一个对象,而不是一个字符串。正确的配置应该是这样的:
```javascript
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://127.0.0.1:8081',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
},
port: 8085
}
}
```
其中,`/api`是需要代理的路径,`target`是代理的目标地址,`changeOrigin`表示是否改变请求头中的Origin字段,`pathRewrite`表示路径重写规则。
如果以上配置仍然无效,可以尝试在引用[2]提到的main.js文件中设置axios的baseURL为代理的地址:
```javascript
import axios from 'axios'
axios.defaults.baseURL = '/api'
```
这样,axios发送的请求会自动添加上`/api`前缀,从而触发代理。
--相关问题--:
1. 什么是跨域请求?
2. 如何在Vue中使用axios发送POST请求?
3. Vue中如何使用代理
相关问题
vue.config.js proxy不生效
要使vue.config.js中的proxy生效,需要正确配置devServer.proxy选项。根据引用和引用的内容,可以将vue.config.js配置为以下形式:
```javascript
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://localhost:8081',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
}
}
```
这样配置后,当访问以`/api`开头的接口时,会将请求代理到`http://localhost:8081`上。请注意确保代理目标服务器已启动并能够正确响应请求。
同时,还需要在main.js文件中设置axios.defaults.baseURL为'/api',如引用所述,以确保axios在发送请求时自动添加/api前缀来实现跨域访问。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [vue cli3 配置proxy代理无效的解决](https://download.csdn.net/download/weixin_38622467/14828750)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [proxy代理不生效、vue config.js不生效解决方法](https://blog.csdn.net/weixin_47379721/article/details/128576797)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
使用vue配置proxy pathrewrite 无效,后端接口是http://localhost:8085/user/findAll,前端如果请求
可以尝试在 `vue.config.js` 中设置 `proxy`,如下所示:
```javascript
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://localhost:8085', // 后端接口地址
changeOrigin: true, // 是否跨域
pathRewrite: {
'^/api': '/user' // 重写请求路径
}
}
}
}
}
```
在前端代码中,请求的 URL 应该为 `/api/findAll`,这样就会被代理到 `http://localhost:8085/user/findAll`。
如果 `pathRewrite` 仍然无效,可以尝试在后端配置 CORS 头允许跨域请求。
阅读全文