跨域
在前端开发中,经常会遇到前端请求后端接口跨域,所谓跨域,指后端接口与前端的协议或者域名或者端口不一致,有很多项目是webpack或vite项目,这些项目可以通过配置proxy解决跨域问题,但在一些传统项目中,项目自身没有proxy功能,此时需要借助第三方代理工具来解决,whistle是常用的解决工具之一。
代理的原理
跨域是浏览器自身的机制,代理的原理,是浏览器请求代理,保持浏览器和代理同源,代理再请求后端,代理没有跨域机制可直接请求,代理请求接口获取请求接口再返给浏览器。
whistle的使用
安装
npm install -g whistle
启动
w2 start
下载&&安装https证书
- windows:
下载证书:
安装证书:
- 双击下载到本地的证书文件
- 点击“安装证书”
3. 选择“存储位置”
- 选择“受信任的根证书颁发机构”
安装Chrome浏览器插件“Proxy Switch”
安装后所有通过chrome请求的地址都会被代理。
配置
浏览器访问启动后打印的地址
- 配置rules, 实现请求转发
- mock响应数据
- 在“Network”中选中需要mock的url请求,右键选择“mock”
- 修改新的返回数据
保存后在“rules”中生成一条新的规则:
再次请求“百度”,返回如下:
- 其他功能待解锁