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 相关文章推荐
jQuery 连续列表实现代码
Dec 21 Javascript
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
Oct 14 Javascript
jquery中attr和prop的区别分析
Mar 16 Javascript
Jquery使用val方法读写value值
May 18 Javascript
JavaScript中SetInterval与setTimeout的用法详解
Nov 10 Javascript
浏览器兼容性问题大汇总
Dec 17 Javascript
详解Vue.js Mixins 混入使用
Sep 15 Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 Javascript
jquery分页插件pagination使用教程
Oct 23 jQuery
详解vuejs中执行npm run dev出现页面cannot GET/问题
Apr 26 Javascript
详解vue高级特性
Jun 09 Javascript
vue基于better-scroll仿京东分类列表
Jun 30 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入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
php向js函数传参的几种方法
2014/08/10 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
PHP页面输出时js设置input框的选中值
2016/09/30 PHP
学习ExtJS border布局
2009/10/08 Javascript
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
JavaScript中Date.toSource()方法的使用教程
2015/06/12 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
2015/12/01 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
2016/04/17 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
javascript网页随机点名实现过程解析
2019/10/15 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
js实现微信聊天界面
2020/08/09 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
Python笔记(叁)继续学习
2012/10/24 Python
详解Python中with语句的用法
2015/04/15 Python
在Python中处理日期和时间的基本知识点整理汇总
2015/05/22 Python
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
国际知名设计师时装商店:Coggles
2016/09/05 全球购物
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
JAVA招聘远程笔试题
2015/07/23 面试题
应届生求职信写作技巧
2013/10/24 职场文书
两年的个人工作自我评价
2014/01/10 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL