webpack proxy 使用(代理的使用)


Posted in Javascript onJanuary 10, 2020

为什么要写篇文章

这两天的开发中遇到一些需要代理才能解决的问题, 在这里记录一下, 方便以后的查阅.

为什么要用代理

跨域

在开发过程中, 我们的开发环境一般都是http:// localhost, 但是如果需要请求的数据不在本地, 那么我们就需要面对一个跨域请求的问题. 众所周知, 因为浏览器的安全协议, 我们是无法直接进行跨域请求的. 代理就是为了解决这个问题, 当然了你也可以使用jsonp 和 nginx 反向代理.

如何进行代理

webpack 配置

在这里我默认为开发环境的配置

  1. 找到 webpack.config.js 文件
  2. 在 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这个插件完成的, 有兴趣的话可以去搜一下,在这里我就不多做解释了.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript中读取和保存文件实例
May 08 Javascript
JS实现的自定义水平滚动字体插件完整实例
Jun 17 Javascript
浅谈React 属性和状态的一些总结
Nov 21 Javascript
Angularjs单选改为多选的开发过程及问题解析
Feb 17 Javascript
vue绑定的点击事件阻止冒泡的实例
Feb 08 Javascript
electron中使用bootstrap的示例代码
Nov 06 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
Dec 11 jQuery
JavaScript创建防篡改对象的方法分析
Dec 30 Javascript
利用Dectorator分模块存储Vuex状态的实现
Feb 05 Javascript
JavaScript定时器设置、使用与倒计时案例详解
Jul 08 Javascript
JavaScript实现省市区三级联动
Feb 13 Javascript
Vue 数据绑定的原理分析
Nov 16 Javascript
基于vue-draggable 实现三级拖动排序效果
Jan 10 #Javascript
bootstrap实现嵌套模态框的实例代码
Jan 10 #Javascript
jQuery操作动画完整实例分析
Jan 10 #jQuery
基于JavaScript判断两个对象内容是否相等
Jan 10 #Javascript
jQuery操作事件完整实例分析
Jan 10 #jQuery
jQuery操作元素追加内容示例
Jan 10 #jQuery
基于JS判断对象是否是数组
Jan 10 #Javascript
You might like
php对二维数组进行排序的简单实例
2013/12/19 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
js 颜色选择器(兼容firefox)
2009/03/05 Javascript
Jquery 组合form元素为json格式,asp.net反序列化
2009/07/09 Javascript
详细讲解JS节点知识
2010/01/31 Javascript
js中格式化日期时间型数据函数代码
2010/11/08 Javascript
js定时器实例分享
2016/12/20 Javascript
JS高级运动实例分析
2016/12/20 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
2019/03/04 Javascript
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
微信小程序 button样式设置为图片的方法
2020/06/19 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
2020/11/19 Vue.js
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
使用Python的Tornado框架实现一个简单的WebQQ机器人
2015/04/24 Python
Python中字典的基本知识初步介绍
2015/05/21 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
python os用法总结
2018/06/08 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
2020/02/15 Python
Python json模块与jsonpath模块区别详解
2020/03/05 Python
通过实例解析python创建进程常用方法
2020/06/19 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
应届生求职信写作技巧
2013/10/24 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
员工工作能力评语
2014/12/31 职场文书
财务工作个人总结
2015/02/27 职场文书
法律意见书范文
2015/06/04 职场文书
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL