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右下角弹层及自动隐藏(自己编写)
Nov 20 Javascript
Jquery性能优化详解
May 15 Javascript
JavaScript函数详解
Nov 17 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
Sep 21 Javascript
JavaScript隐式类型转换
Mar 15 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
Mar 23 jQuery
JS查找数组中重复元素的方法详解
Jun 14 Javascript
vue生成token保存在客户端localStorage中的方法
Oct 25 Javascript
基于vue 动态加载图片src的解决方法
Feb 05 Javascript
Vue实战教程之仿肯德基宅急送App
Jul 19 Javascript
如何通过javaScript去除字符串两端的空白字符
Feb 06 Javascript
9个JavaScript日常开发小技巧
Oct 06 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
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
webstorm添加*.vue文件支持
2018/05/08 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
详解Vue底部导航栏组件
2019/05/02 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
Python中用sleep()方法操作时间的教程
2015/05/22 Python
Python中str is not callable问题详解及解决办法
2017/02/10 Python
Django自定义分页效果
2017/06/27 Python
Python输出各行命令详解
2018/02/01 Python
Python反爬虫伪装浏览器进行爬虫
2020/02/28 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
意大利顶级奢侈品电商:LUISAVIAROMA(支持中文)
2020/05/26 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
《三顾茅庐》教学反思
2014/04/10 职场文书
社区文化建设方案
2014/05/02 职场文书
校庆团日活动总结
2014/08/28 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
付款承诺函范文
2015/01/21 职场文书
二审答辩状格式
2015/05/22 职场文书
员工手册董事长致辞
2015/07/29 职场文书
2015年物业管理员工工作总结
2015/10/15 职场文书
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers