vue开发模式 跨域处理
大家在做vue开发的时候难免会遇到跨域的问题,一般解决的办法有两种,后端配置cors,大部分框架都集成了相应的配置文件,另一种就是前段设置反向代理,而笔者今天要说的就是vue生产模式的反向代理。
vue cli 2.x:
proxyTable: {
// proxy all requests starting with /api to jsonplaceholder
'/api': {
target: 'http://localhost:1337', //目标服务器,注意要到端口号
changeOrigin: true, //是否跨域
pathRewrite: {
'^/api': '' //重写api使得 /api/login -> http://localhost:1337/login等等,这里好多csdn博主跟我的不一样,可能个人喜好问题,只要映射到相应的url就行了
}
}
},
vue cli 3.x:
先安装一个插件
yarn add @cnamts/vue-cli-plugin-proxy # OR npm install @cnamts/vue-cli-plugin-proxy
//vue.config.js 注意是在根目录下
module.exports = {
pluginOptions: {
proxy: {
enabled: true,
context: '/api',
options: {
target: 'http://192.168.43.106:8080',
changeOrigin: true,
ws:true, //websocket
pathRewrite:{
'^/api':''
}
}
}
}
}
下面有个例子
本文链接:https://blog.csdn.net/my_csdn2018/article/details/82909989

对反向代理解决跨域过程的理解

如图,浏览器中请求的url为http://localhost:8081/api/portal/order/queryOrderRow?orderNumber=4015
我实际请求的url为http://localhost:8080/portal/order/queryOrderRow?orderNumber=4015
本地项目通过http://localhost:8081/#/在浏览器中进行访问。
通过伪造请求使得http请求为同源的,然后将同源的请求发送到反向代理服务器上,由反向代理服务器去请求真正的url,这样就绕过直接请求真正的url导致跨域问题。
爱生活、爱编程!

浙公网安备 33010602011771号