位置: IT常识 - 正文

vue.config.js 中 devServer.proxy 配置说明,以及配置正确不生效问题

编辑:rootadmin
vue.config.js 中 devServer.proxy 配置说明,以及配置正确不生效问题 文章目录proxy 配置确认、解析原因 一原因二注意详解请求路径必须带有标识!!!pathRewritechangeOriginproxy 配置确认、解析devServer: { https: true, // 开启https模式 // 配置服务器代理 proxy: { '/api': { // 匹配访问路径中含有 '/api' 的路径 target: 'http://localhost:3000/', // 测试地址、目标地址 changeOrigin: true, ws: true, // 是否开启 webSocket 代理 pathRewrite: { // 请求路径重写 '^/api': '', //重写请求路径 }, } } },原因 一

推荐整理分享vue.config.js 中 devServer.proxy 配置说明,以及配置正确不生效问题,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

百度最多的解释

配置写错了 (解决:复制粘贴上面的实例下去改)路径没有匹配上 (解决:看本文的详解部分)原因二

这个原因得注意一下

方式是给我们开发环境用的 ,其次是我们的请求要被开发服务器接收到,且不能匹配到请求,然后我们的请求就会被代理到配置的URL。注释掉,或者改为本地路径,否则代理不会生效

比如说我之前的全局 http.js 配置文件是这样写的

const http = axios.create({ baseURL: 'http://localhost:3000/',})

所以不论是 生产 还是 开发 环境下,我的请求都会发送给我们配置的baseURL,而不会走我们的代理!!!。

所以我们得修改一下配置,使我们的生产路径在生产环境下才生效let baseURL = "/";if (process.env.NODE_ENV === 'production') { baseURL = 'http://localhost:3000/';}const http = axios.create({ baseURL,})

这样在开发环境下,我们的 baseURL = "/", 代理就可以生效了。

注意还有一点就是,即使我们的代理生效了,但是在浏览器请求头中展示的也不是配置的代理地址;所以测的时候得多问问后端请求过去没有,或者自己node搭个简易的服务器看看成没成功;不要一根筋的死盯浏览器的请求头地址。详解请求路径必须带有标识!!!proxy: { '/api': { ... } }

用代理首先你得有一个标识,表明你的这个连接要使用代理;

vue.config.js 中 devServer.proxy 配置说明,以及配置正确不生效问题

不然的话 html css js 这些静态资源都跑去代理。

/api 就是告诉 node ,我接口用 /api 开头的才使用代理,所以接口都写成 /api/xx/xx

出现问题: 请求路径没有 /api ,使用 pathRewrite 解决

pathRewritepathRewrite: { // 请求路径重写 '^/api': '', //重写请求路径 },

pathRewrite的key值 ^/api 就是一个正则表达式。

pathRewrite的value值 为替换后的路径。

这里的话就是将匹配成功的地址当做一个字符串,然后执行 js 的 replace 方法,将执行成功的最终结果作为最后的请求路径。

比如:我们有一个请求 axios.get("/api/aa/bb/cc") ;根据我们这里配置的 proxy, 带有 /api 的请求路径就需要进行代理,且 /api/aa/bb/cc 路径中含有 /api ,所以该请求就需要代理。将路径当做字符串执行, "/api/aa/bb/cc".replace(/^\/api/, "")执行结果: /aa/bb/cc最终的请求路径变成了 http://localhost:3000/aa/bb/cc 不含/api;而 axios.get("/ee/ff/dd") 这个请求就不会进行代理,因为匹配不上我们预设的规则 (请求路径没有 /api)最终的请求路径变成了 http://localhost:3000/ee/ff/dd, 和原路径一致;又比如说我们的配置为pathRewrite: { // 请求路径重写 '^/api': '/rewrite', //重写请求路径 }那么我们的请求 axios.get("/api/aa/bb/cc") ;会执行 "/api/aa/bb/cc".replace(/^\/api/, "/rewrite");最终的请求路径变成了 http:/rewrite/localhost:3000//aa/bb/cc;将 /rewrite 替换了开头的/api。changeOrigin

假设,如果你的前端服务器是 http://localhost:3000,后端是 http://localhost:8082。

那么后端通过 request.getHeader(“Host”) 获取依旧是 http://localhost:3000。

如果你设置了 changeOrigin: true,那么后端通过 request.getHeader(“Host”) 获取才是 http://localhost:8082。代理服务器此时会根据请求的 target 地址修改 Host。

点赞、收藏、投硬币,可爱女友不漏气!

本文链接地址:https://www.jiuchutong.com/zhishi/289726.html 转载请保留说明!

上一篇:雷尼尔山透镜状云的延时视频,华盛顿 (© Delrious/Shutterstock)(雷尼尔山位于美国西北部)

下一篇:将yolov5中的PANet层改为BiFPN(yolov5输出result)

  • 华为nova9pro怎么关闭应用(华为nova9pro怎么设置返回键)

    华为nova9pro怎么关闭应用(华为nova9pro怎么设置返回键)

  • 怎么关掉抖音在线时间(怎么关掉抖音在线状态显示)

    怎么关掉抖音在线时间(怎么关掉抖音在线状态显示)

  • 荣耀手表magic2对比华为gt2(荣耀magicwatch2和荣耀手表2区别)

    荣耀手表magic2对比华为gt2(荣耀magicwatch2和荣耀手表2区别)

  • 微信群主暂时无法编辑群公告(微信群主为什么没有权限)

    微信群主暂时无法编辑群公告(微信群主为什么没有权限)

  • 苹果手机延长手机亮屏时间在哪里设置(iphone延长锁屏时间在哪里设置)

    苹果手机延长手机亮屏时间在哪里设置(iphone延长锁屏时间在哪里设置)

  • 怎么把三个文件放在一个压缩包(怎么把三个文件放在一个文件夹里手机)

    怎么把三个文件放在一个压缩包(怎么把三个文件放在一个文件夹里手机)

  • 淘宝退货要先确认收货吗(淘宝退货先确认在退款吗)

    淘宝退货要先确认收货吗(淘宝退货先确认在退款吗)

  • 电视可以连接蓝牙耳机吗(电视可以连接蓝牙手柄吗)

    电视可以连接蓝牙耳机吗(电视可以连接蓝牙手柄吗)

  • 抖音在线怎么隐身(抖音怎样隐藏在线功能)

    抖音在线怎么隐身(抖音怎样隐藏在线功能)

  • 充电宝充的特别慢是什么原因(充电宝充的特别慢发烫怎么回事)

    充电宝充的特别慢是什么原因(充电宝充的特别慢发烫怎么回事)

  • 微信群公告怎么撤回(微信群公告怎么删除图片)

    微信群公告怎么撤回(微信群公告怎么删除图片)

  • 全屏照片怎么拍(苹果手机拍全屏照片怎么拍)

    全屏照片怎么拍(苹果手机拍全屏照片怎么拍)

  • vivox27微信能美颜吗(vivox27微信怎么美颜)

    vivox27微信能美颜吗(vivox27微信怎么美颜)

  • 小米8能不能插内存卡(小米8能不能插两张电信卡)

    小米8能不能插内存卡(小米8能不能插两张电信卡)

  • 如何挂失电话号码(如何挂失电话号码电信)

    如何挂失电话号码(如何挂失电话号码电信)

  • 哪一款ipad可以打电话(哪一款ipad可以开90帧)

    哪一款ipad可以打电话(哪一款ipad可以开90帧)

  • 自媒体有哪些平台?(自媒体有哪些平台可以做)

    自媒体有哪些平台?(自媒体有哪些平台可以做)

  • 小米平板能升miui11吗(小米平板能升级安卓系统吗)

    小米平板能升miui11吗(小米平板能升级安卓系统吗)

  • 苹果6s有红外线遥控功能吗(苹果六有红外线)

    苹果6s有红外线遥控功能吗(苹果六有红外线)

  • 微信如何强制注销(微信如何强制注销微信支付)

    微信如何强制注销(微信如何强制注销微信支付)

  • 快手直播人数显示怎么调(快手直播人数显示怎么关)

    快手直播人数显示怎么调(快手直播人数显示怎么关)

  • 脚注和尾注怎么设置(脚注和尾注怎么设置,二者有什么样的区别)

    脚注和尾注怎么设置(脚注和尾注怎么设置,二者有什么样的区别)

  • 键盘qq红包怎么画(qq红包键盘的画法)

    键盘qq红包怎么画(qq红包键盘的画法)

  • 小米8se怎么激活电池(小米8激活锁)

    小米8se怎么激活电池(小米8激活锁)

  • vivo手机没有信号是什么原因(vivo手机没有信号是哪里出现了问题)

    vivo手机没有信号是什么原因(vivo手机没有信号是哪里出现了问题)

  • 华为al00手机如何回到主页(华为AL00手机如何取消下拉屏幕的智慧搜索)

    华为al00手机如何回到主页(华为AL00手机如何取消下拉屏幕的智慧搜索)

  • word转excel身份证号(word转excel身份证不变)

    word转excel身份证号(word转excel身份证不变)

  • vue3 使用tinymce编辑器实现单/多图片上传,附件上传,视频上传(vue3如何)

    vue3 使用tinymce编辑器实现单/多图片上传,附件上传,视频上传(vue3如何)

  • 【TypeScript】TS进阶-函数重载(七)(typescript tsconfig)

    【TypeScript】TS进阶-函数重载(七)(typescript tsconfig)

  • 缴纳增值税做账
  • 什么是税目税基税率,简答题
  • 年末结转净利润
  • 资金账簿印花税最新政策2022年
  • 单身租房可以专租房吗
  • 组织机构代码是营业执照哪几位数字
  • 培训机构给学员过生日
  • 网上车辆购置税缴纳
  • 一般纳税人旧货
  • 劳务报酬所得如何计税
  • 客户能把货款打给个人吗
  • 收到政府补助的固定资产的账务处理
  • 二手车公司销售二手车的税率
  • 运输企业营改增
  • 印花税税目错了能申报更正吗
  • 产生个人所得税之后是不是不能公益性岗位
  • 原始凭证的基本内容包括会计科目吗
  • 企业员工差旅平台排行
  • 跨年暂估成本的账务处理冲回
  • 定额备用金的账务怎么做
  • 房屋租赁发票需要什么资料
  • 应付工资和实付工资的差额叫什么
  • 小额纳税人增值税专用发票税率1%
  • 小规模纳税人一个月能开多少税票
  • 银行承兑电子汇票到期要怎么操作
  • 其他应收款会计科目
  • 应收账款的差额计入哪里
  • 发放工资不计提可以吗
  • 办理劳务资质流程
  • 大家在抢红包怎么回复
  • uniapp 信息推送
  • 有利润但不交企业所得税
  • Video Transformer | TimeSformer 理解+ 代码实战
  • hadoop java
  • vue中key
  • 非事业单位企业退休年龄
  • 幼儿园免征增值税账务处理
  • 新会计准则对财务工作的影响
  • 以前年度损益调整是什么意思
  • 什么叫资本退出
  • 企业提前还贷为什么违约
  • python中重写构造方法
  • 帝国cms如何卸载应用
  • 织梦怎么建站
  • 抵账的多余款是什么科目
  • 电商会计如何做账
  • 发票开错对方已抵扣该怎么处理?
  • 作废的增值税普通发票怎么处理
  • 小企业会计准则调整以前年度费用分录
  • 期货风险准备金计提比例
  • 买车进项税
  • 会计凭证中的数字怎么填
  • 进料加工转内销会计处理
  • 企业流动资金的筹措应以财政拨款为主
  • 劳务公司机械租赁费列入什么费用
  • 律师的行业
  • 工程未竣工预付款怎么办
  • 费用会计处理
  • 出口免税项目
  • 专打发票的打印机
  • 在建工程预付款怎么做账
  • ubuntu 连不上网如何排查原因
  • 安卓设备连接苹果设备
  • 苹果mac安装
  • ipad和macbook怎么交互
  • linux命令行怎么查看公网ip
  • xp系统开机只有一个鼠标箭头
  • winpe 系统还原
  • django 实例
  • unity固定位置随机生成物体
  • android系统架构由几部分组成
  • python元组和数组
  • JavaScript中的math.pi
  • javascript Keycode对照表
  • js 严格的迭代语句
  • python3.10性能
  • 重新加载activity
  • Python中的def
  • python的介绍
  • 红色通知字体
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设