vue开发中常见的跨域方案(能用的)

557 阅读2分钟

vue-cli自带的跨域解决方案

vue.config.js中配置文件

image.png

文字解释下这些配置的作用

image.png 这一段是说明接口地址是/dev开头的时候才会去匹配触发代理,例如localhost:8080/dev/getUser 就会触发

剩下的文字解释图上也有,可能有不明白的就是pathRewrite了,这里是为了将匹配到的/dev关键字,在发送请求的时候去做个转换localhost:8080/dev/getUser =>localhost:8080/prod/getUser,一般我们是把匹配的关键字/dev变成 ' ',因为完整的后端接口不包含关键字,为了前后统一

而因为开发环境的不同,往往我们需要多个跨域处理,配置多个的方法如图所示,大家可自行尝试

谷歌浏览器可自行设置跨域

为什么大家不全用谷歌!这个也是比较简单的,首先安装谷歌,安装完毕后,桌面一般会有个快捷方式

image.png 右键快捷方式的属性,

image.png 目标后面添加,记住是目标后面添加!不是替换,目标本身指向的是安装位置 --disable-web-security --user-data-dir=C:\MyChromeDevUserData 添加这一段在后面 这个C:\MyChromeDevUserData是我随便在C盘创建的一个文件夹

image.png 点击应用,然后启动谷歌浏览器

image.png出现这段话说明就可以了! 完整的我也放下"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir=C:\MyChromeDevUserData 每个人不一定都是这个安装位置,看你的目标指向

当后端老大哥愿意帮你的时候!

跨域大家都知道,就是因为浏览器像服务器请求因为同源策略导致的,但是!后端可以设置 后端设置:Access-Control-Allow-Origin 这个响应头可以指定对应的域名或者直接'*'允许全部的请求跨域

当你不愿意寄人篱下的时候

利用node帮我们做转发,node是服务器语言,也就是说node中的请求去向后端老大哥请求的时候,不会受到同源策略影响