http-proxy-middleware说到解决项目中的跨域方法,不得不提的是这个工具代理了http://www.example.org主机名下的/api请求。可以这样配置:varexpress=require('express');varproxy=require('http-proxy-middleware');varapp=express();app.use('/api',proxy({target:'http://www.example.org',changeOrigin:true}));app.listen(3000);//http://localhost:3000/api/foo/bar->http://www。例子。org/api/foo/bar如果我们本地服务是在192.168.0.112上,经过上面的配置,request192.168.0.112:8080/api会通过中间件请求接口www.example.org/api,从而解决交叉-domain问题是没有Charles也可以用Charles(这个软件运行太浪费内存),但是如果要抓包,设置接口断点,修改接口数据等,还是需要强大的Charles。在Vue脚手架搭建的项目中,项目中添加了webpack-dev-server,devServer:{clientLogLevel:'warning',historyApiFallback:{rewrites:[{from:/.*/,to:path.posix.join(config.dev.assetsPublicPath,'index.html')},],},hot:true,contentBase:false,//因为我们使用CopyWebpackPlugin。压缩:真,主机:主机||配置文件host,//主机:ip.address(),端口:PORT||config.dev.port,打开:config.dev.autoOpenBrowser,覆盖:config.dev.errorOverlay?{warnings:false,errors:true}:false,publicPath:config.dev.assetsPublicPath,proxy:config.dev.proxyTable,//代理设置quiet:true,//FriendlyErrorsPluginwatchOptions:{poll:config.dev.poll,}}通过config/index.js可以配置proxyTable选项。其参数与http-proxy-middleware一致。Charles是工作中常用的工具。在移动终端的开发中,它的主要用途是:1.网络访问代理服务器,让所有的网络访问请求都通过它来完成,解决接口调试过程中的交叉连接问题。域问题;2、拦截http和https的网络包,在这里操作Proxy->ProxySetting设置代理端口。设置好后,在手机上添加HTTP代理,ip为电脑ip地址tools->mapRemote这里是设置网络请求重定向到另一个URL请求地址,可以解决跨域问题。From中的IP和端口是本地服务的IP和端口,To的地址是接口的地址。Http请求抓包可以轻松抓取,但是Https需要安装ssl证书。Help->sslProxying->install这一步是给电脑安装证书,然后信任证书。手机和电脑需要在同一网段。手机设置好HTTP代理后,用浏览器访问chls.pro/ssl安装证书,选择help-sslProxying->installcharlesRootCertificateonaMobileissetup,然后设置HTTPS请求为被抓包,端口一般写*手机设置-通用-信任下载的Charles代理设置->通用-关于本机-证书信任设置手机上开启https请求的包即可捕获。
