聊一聊跨域的几种解决方案
今天我们就来聊聊前端工程中跨域请求数据交互的问题,在以前的项目中,我们可能是通过后端配置用同源策略或是用 jsonp 的形式 去处理前后台数据交互的问题,看看 阮一峰同学的吧 讲的还是很清楚的! https://www.ruanyifeng.com/blog/2016/04/cors.html ,
在工程化项目中,我们用的是用代理的形式处理的。
来先说现在常用的 代理形式解决跨域问题, 第一种 是用node 自己搭一套代理服务器用来和后端交互,服务器与服务器之间不存在跨域问题!剩下的就是浏览器和这个代理服务器之间跨域的处理了,可以自己处理代理服务器的跨域,也可以用 http-proxy-middleware 等插件解决开发中跨域、鉴权、图片防盗链问题.
普及一下这个插件的一些日常使用方法,不讲解非常基础api,请搭配官方文档观看
先说说这个插件是干嘛的吧。
The one-liner node.js http-proxy middleware for connect, express and browser-sync
Node.js proxying made simple. Configure proxy middleware with ease for connect, express, browser-sync and many more.
Powered by the popular Nodejitsuhttp-proxy.
我的理解,就是一个中间件,是http-proxy的封装,能给express,connect browser-sync等使用。
最常用在什么地方?
用来跨域的,例如跟webpack-dev-server配合使用是现在最流行的吧,vue react等一些脚手架工具中也已经集成了,所以你配置几行代码,就能跨域了。