Vue 配置跨域问题

本文介绍了Vue CLI中proxyTable的使用,它在开发环境中提供了一个代理服务器解决跨域问题。proxyTable允许我们将API请求路径映射到目标服务器地址,通过pathRewrite可以重写路径。在实际部署时,此配置不再生效,需要其他跨域解决方案。
摘要由CSDN通过智能技术生成

我们在使用 vue-cli 工具生成 vue 项目时

vue init webpackmy-project-vue

在生成的项目结构中,会有一个config > index.js 文件
在这里插入图片描述
在 index.js 中有一个 proxyTable 的空节点
在这里插入图片描述
proxyTable 是 vue-cli 脚手架在开发模式下给我们提供的一个跨域的代理中转服务器

1. proxyTable 跨域的基本原理:
在开发模式下,webpack 会为我们提供一个 http 代理服务器
在我们请求接口的时候,实际上是请求 webpack 提供的这个 HTTP 代理服务器
再由这个代理服务器去请i去真实的数据服务器
最后数据通过webpack 代理服务器传入 vue 程序

2. proxyTable 属性配置:
在这里插入图片描述
3. 关于 proxyTable 节点说明:
首先,在 proxyTable 模块中设置了 ‘/api’ ,target 中设置服务器地址,也就是接口开头的那段地址,例如 http:/localhost:54321/, 然后我们在第哦啊用接口的时候,就可以全局使用 /api , 这时候 /api 的作用就相当于 http:/localhost:54321/;比如接口地址是 http:/localhost:54321/api/json.data,我们就可以使用 /api/json.data

4. pathRewrite:相当于是替代 /api ,如果接口中没有 api 那就直接置空,如果有 api 那就得写成 '^/api' : '/api',可以理解为重定向或者重新赋值的功能

总结:

  • proxy Table 就是 webpack 在开发环境给我们提供的一个代理服务器(使用的是 http-proxy-middleware)
  • 目的是为了在服务器端不方便开启跨域的时候,我们也能方便的在开发阶段发送 ajax 跨域请求
  • 当真实发布环境就不起作用了,除非自己配置一个代理服务器,或者让后台开启 cors
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值