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 相关文章推荐
让getElementsByName适应IE和firefox的方法
Sep 24 Javascript
javascript IE中的DOM ready应用技巧
Jul 23 Javascript
JQuery 风格的HTML文本转义
Jul 01 Javascript
javascript 不间断的图片滚动并可点击
Jan 15 Javascript
jQuery.getScript加载同域JS的代码
Feb 13 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
Mar 25 Javascript
基于JavaScript代码实现自动生成表格
Jun 15 Javascript
Vue.js原理分析之observer模块详解
Feb 17 Javascript
ionic 3.0+ 项目搭建运行环境的教程
Aug 09 Javascript
react-native android状态栏的实现
Jun 15 Javascript
微信小程序开发的基本流程步骤
Jan 31 Javascript
浅谈JS中this在各个场景下的指向
Aug 14 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输出控制功能在简繁体转换中的应用
2006/10/09 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
Laravel 5.3 学习笔记之 配置
2016/08/28 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
JavaScript面向对象编程入门教程
2014/04/16 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
学习JavaScript设计模式(单例模式)
2015/11/26 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
Javascript中构造函数要注意的一些坑
2017/01/23 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
django 自定义用户user模型的三种方法
2014/11/18 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
Python笔试面试题小结
2019/09/07 Python
Python字符串格式化输出代码实例
2019/11/22 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
用css3写出气球样式的示例代码
2017/09/11 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
梅西百货官网:Macy’s
2020/08/04 全球购物
外语专业毕业生自我评价分享
2013/10/05 职场文书
最新党员思想汇报
2014/01/01 职场文书
最新离婚协议书范本
2014/08/19 职场文书
幼儿园老师工作总结2015
2015/05/22 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
PHP基本语法
2021/03/31 PHP
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL