前言
最近在项目中遇到了跨域问题(基于原生的项目),后台配置了好多种方法都没效果(应该是项目配置问题),于是就只好前端解决。前端解决跨域首先就想到了代理,vue中已经有了很好的跨域解决方案就是在vue项目根目录下的vue.config.js
文件proxy
中设置跨域,那原生项目是不是也可以使用node.js
下载相关插件去解决跨域,网上找了找,并处理了一些坑后用live-server
解决了跨域。
为什么会有跨域
跨域是因为浏览器的同源策略
,域名,协议或端口不同,就会跨域
。
使用live-server代理解决跨域
没有安装node.js
的需要先自行安装
初始化项目并全局安装live-server
1,找到自己文件目录cmd调出黑窗口
2,npm init
初始化项目
3,npm install live-server -g
全局安装live-server
3,打开生成的package.json
文件。
4,在package.json
的scripts
中配置启动。
5,保存后,npm run server
便可以启动项目。
以代理的方式启动
还是在package.json
中的scripts
中配置,如下:
{ "name": "jq", "version": "1.0.0", "description": "", "main": "FileSaver.min.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "server": "live-server --open=./your.html --port=8081", "proxy": "live-server --open=./your.html --port=8081 --proxy=/proxy:http://192.168.1.110:8001" }, "author": "", "license": "ISC" }
/proxy
表示请求接口如果用/proxy
开头则代理到http://192.168.1.110:8001
(这里可以根据自己的需要配置/proxy
也可以换成自己喜欢的)