开发过程中遇到跨域问题,vue-cli 是如何配置跨域的
时间: 2023-05-09 08:03:09 浏览: 87
在Vue-cli中,可以通过配置代理服务器来解决跨域问题。具体实现如下:
1. 在config/index.js文件中找到dev属性,设置proxyTable选项,如下:
```javascript
dev: {
// ...
proxyTable: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
// ...
}
```
2. 在上述代码中,我们将请求地址中的 '/api' 替换成空字符串,因为我们实际请求的API地址中并不包含 '/api' 前缀。同时,将请求重定向到我们所需请求的API地址。
3. 在Vue项目中,我们可将API请求地址修改成相对地址来完成代理:
```javascript
axios.get('/api/user/getInfo').then((res) => {
console.log(res.data)
})
```
总之,通过以上配置,就可以在Vue-cli中解决跨域问题啦!
相关问题
vue-cli 跨域
Vue-cli中的跨域问题可以通过配置代理服务器来解决。在vue.config.js配置文件中,可以使用devServer的proxy选项来设置代理。具体操作如下:
1. 在项目根目录下找到vue.config.js文件。
2. 找到devServer选项,并在其中添加proxy配置。
3. 在proxy中设置需要代理的请求地址,以及目标地址。
4. 重启项目,验证跨域问题是否解决。
例如,如果需要代理请求地址以/api开头的请求,并将其转发到线上的地址,可以按照以下格式配置proxy:
```javascript
module.exports = {
devServer: {
// ...省略其他配置
proxy: {
'/api': {
target: 'http://线上的地址'
}
}
}
}
```
同时,需要确保在axios请求中不设置baseURL,即去掉baseURL配置项。然后重启项目,验证跨域问题是否解决。
请注意,这种代理配置只适用于开发阶段,不适用于生产环境。\[2\]
#### 引用[.reference_title]
- *1* *3* [如何解决跨域问题以及vuecli开发环境用代理服务器解决跨域问题](https://blog.csdn.net/weixin_45371730/article/details/121892285)[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^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [vue-cli解决跨域问题](https://blog.csdn.net/Moraxz/article/details/128414628)[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^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
vue-cli跨域代理后404
在使用Vue-cli进行开发时,我们常常会遇到跨域的问题。为了解决这个问题,我们可以使用vue.config.js文件进行代理设置。
首先,打开项目根目录下的vue.config.js文件。
其次,我们需要在该文件中添加一个devServer选项,来进行代理的配置。具体代码如下:
```
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://example.com', // 需要跨域的域名
changeOrigin: true, // 是否进行跨域
pathRewrite: {
'^/api': '' // 将/api替换为空字符串
}
}
}
}
}
```
其中,target指定了需要跨域请求的域名。changeOrigin设置为true表示开启跨域。pathRewrite用于重写请求地址,将/api替换为空字符串。
最后,保存文件并重新运行项目。此时,我们就成功地设置了跨域代理。
然而,有时候我们可能会遇到404错误。这通常是因为代理的地址不正确,或者目标服务器无法处理正确的路由地址。
我们需要确保target的值和实际需要跨域请求的域名一致。另外,需要确保pathRewrite中的替换规则正确。
如果以上操作仍然无法解决问题,可以参考目标服务器的接口文档,确认请求地址是否正确。同时,可以使用开发工具的网络面板查看请求的详细信息,以便进行进一步的排查。
总结:使用vue-cli进行跨域代理时,可以通过配置vue.config.js文件来解决跨域问题。如果出现404错误,需要检查配置是否正确,并确认目标服务器是否能正确处理请求。