我们本地开发调试一般是 npm run serve
或 yarn serve
,然后打开 localhost:8080
(本机的IP),此时如果调用后端接口,可能会产生跨域,那如何解决呢?
解决跨域的方案
- jsonp
- 只支持GET请求,JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。
- cors
- CORS支持所有类型的HTTP请求,是跨域HTTP请求的根本解决方案
- Node中间件代理(两次跨域)
- 通过同源策略对服务器不加限制。
- Nginx反向代理
- 通过同源策略对服务器不加限制。
日常工作中,生产环境用得比较多的跨域方案是cors和nginx反向代理。
本地项目中调试用的最多的就是 node 代理,当然像 nginx、charles(抓包工具)做代理也可以,只要你会配置。