这两天的开发中遇到一些须要代理才能解决的问题, 在这里记录一下, 方便之后的查阅.javascript
在开发过程当中, 咱们的开发环境通常都是
http:// localhost
, 可是若是须要请求的数据不在本地, 那么咱们就须要面对一个跨域请求的问题. 众所周知, 由于浏览器的安全协议, 咱们是没法直接进行跨域请求的. 代理就是为了解决这个问题, 固然了你也可使用jsonp
和nginx
反向代理.java
在这里我默认为开发环境的配置webpack
webpack.config.js
文件devServer
对象下面加入如下代码proxy: {
'/index':{ // 这个是你要替换的位置
/** 好比你要讲http://localhost:8080/index/xxx 替换成 http://10.20.30.120:8080/sth/xxx * 那么就须要将 index 前面的值替换掉, 或者说是替换掉根地址, *你可能发现了index也是须要替换的, 没错, 我会在后续操做中处理. */
target: 'http://10.20.30.120:8080'//这个是被替换的目标地址
changeOrigin: true // 默认是false,若是须要代理须要改为true
pathRewrite:{
'^/index' : '/' //在这里 http://localhost:8080/index/xxx 已经被替换成 http://10.20.30.120:8080/
}}
}
// 而后在你发起请求的js文件中的地址须要忽略http://10.20.30.120:8080/
//好比 demo.js
axios.post({
url:'http://10.20.30.120:8080/sth/xxx'// 须要替换成下面的地址
url:'/sth/xxx'
}
)
复制代码
实际上代理是使用了是利用http-proxy-middleware这个插件完成的, 有兴趣的话能够去搜一下,在这里我就很少作解释了.ios