使用vue框架开发也会遇到跨域的问题,在vue中可以是用proxyTable解决跨域问题。
那么proxyTable是什么呢,他的原理又是什么?
因为浏览器有同源策略的原因是禁止跨域的,但是服务端不禁止,我们可以在前端服务和后端接口之间搭建一个中间代理服务器,让他的端口、域名、协议都保持一致,这时由于中间服务器和前端的服务器之间没有同源策略的限制可以直接发送请求,而后端接口与中间服务器也没有限制,这是我们可以将请求发送到中间服务器,由它转发给后端接口,这样就可以拿到数据。
但是这种方法只能解决开发环境下的跨域
在config/index.js 里配置proxyTable内容,使用proxy 代理,代码如下
devServer: {
port: port,
open: true,
overlay: {
warnings: false,
errors: true
},
// 配置代理
proxy: {
"/api": { //"/api": ""
target: "路径", //代理服务器的基础路径
changeOrigin: true, // 是否改变域名
pathRewrite: {
'^/api': '' // 用'/api'代替target里面的地址
}
}
},