位置: 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)

  • 如何找回回收站清空文件

    如何找回回收站清空文件

  • realme gt neo2怎么隐藏应用(realmegtneo2怎么关闭5G网络)

    realme gt neo2怎么隐藏应用(realmegtneo2怎么关闭5G网络)

  • 电脑安全模式怎么进(电脑安全模式怎么恢复出厂设置)

    电脑安全模式怎么进(电脑安全模式怎么恢复出厂设置)

  • 小米手环5来电不提醒怎么回事(小米手环5来电不震动解决办法)

    小米手环5来电不提醒怎么回事(小米手环5来电不震动解决办法)

  • 微博钱包提现系统繁忙(微博钱包 提现)

    微博钱包提现系统繁忙(微博钱包 提现)

  • 快手直播黑屏怎么解决(快手直播黑屏怎么回事)

    快手直播黑屏怎么解决(快手直播黑屏怎么回事)

  • 淘宝618列车红包是现金吗(淘宝抢618红包)

    淘宝618列车红包是现金吗(淘宝抢618红包)

  • 拍抖音用什么软件制作视频(拍抖音用什么软件拍摄是最好的)

    拍抖音用什么软件制作视频(拍抖音用什么软件拍摄是最好的)

  • iphone11打字不灵敏(苹果11打字不流畅怎么解决)

    iphone11打字不灵敏(苹果11打字不流畅怎么解决)

  • 先科sast怎么连接蓝牙(先科怎么连接手机)

    先科sast怎么连接蓝牙(先科怎么连接手机)

  • 手机闹铃为什么有时候不响(手机闹铃为什么有时候不响有时候响)

    手机闹铃为什么有时候不响(手机闹铃为什么有时候不响有时候响)

  • 能用视频代替刷脸吗(可以刷视频的软件有哪些不赚钱)

    能用视频代替刷脸吗(可以刷视频的软件有哪些不赚钱)

  • 蓝牙耳机突然改外放了(蓝牙耳机突然改外放了,重启后还是外放)

    蓝牙耳机突然改外放了(蓝牙耳机突然改外放了,重启后还是外放)

  • uv膜和钢化膜的区别(uv膜和钢化膜的重量一样吗)

    uv膜和钢化膜的区别(uv膜和钢化膜的重量一样吗)

  • oppor9多少英寸(oppor9手机多大英寸)

    oppor9多少英寸(oppor9手机多大英寸)

  • 抖音不进直播间主播能看到吗(抖音不进直播间怎么撤管理)

    抖音不进直播间主播能看到吗(抖音不进直播间怎么撤管理)

  • 微信加好友显示对方账号异常怎么回事(微信加好友显示操作频繁怎么解除)

    微信加好友显示对方账号异常怎么回事(微信加好友显示操作频繁怎么解除)

  • 电脑电池坏了的表现(电脑电池坏了的标志)

    电脑电池坏了的表现(电脑电池坏了的标志)

  • word字母下标怎么打(word 字母下标)

    word字母下标怎么打(word 字母下标)

  • vivo手机息屏时间怎么调

    vivo手机息屏时间怎么调

  • iphonexsmax功能介绍(iphone xsmax功能)

    iphonexsmax功能介绍(iphone xsmax功能)

  • 消息记录怎么恢复(怎样找回消息记录)

    消息记录怎么恢复(怎样找回消息记录)

  • 360安全浏览器如何添加兼容性站点(360安全浏览器如何设置极速模式)

    360安全浏览器如何添加兼容性站点(360安全浏览器如何设置极速模式)

  • Vue中$set()的使用方法(vue setstate)

    Vue中$set()的使用方法(vue setstate)

  • 分红给合伙企业后,被普通合伙人借走
  • 个人所得劳务报酬税率
  • 预缴所得税报表填错啦,年报可以修改吗
  • 小规模租金可以按1%
  • 企业所得税中的所得
  • 经营所得与劳务所得的税率
  • 公司股权关系怎么填写
  • 印花税的计税依据为各种应税凭证上所记载的计税金额
  • 一般纳税人固定资产怎么入账
  • 建筑劳务公司业务范围是什么
  • 汇算清缴职工福利支出
  • 工程预收款如何处理
  • 银行漏记账会造成什么后果
  • 商贸公司账务复杂吗
  • 预付办公室装修款
  • 非居民企业出租不动产房产税
  • 小规模收到货运专用发票
  • 律师事务所收费单据
  • 生育津贴缴纳
  • 上个月没有报个税这个月一起报
  • 委托加工物资手续费
  • 减免税备案申请表范文
  • 固定资产转投资性房地产是会计政策变更吗
  • 打开我的电脑提示该文件没有与之
  • 支付到期的承兑汇票是大额往来吗
  • 腾讯电脑管家的信任区在哪里
  • 通用文件系统
  • windows为什么从7开始
  • 小规模纳税人多久缴纳一次增值税
  • windows 11 正式版实际使用体验如何?
  • php获取网页视频地址
  • uniapp支付流程
  • 开发间接费用会计分录
  • 营业税改增值税的过程
  • 固定资产非正常损失进项税
  • 涉及产权的案例
  • 天窗漏进来的水去哪了
  • 计算利润要扣除企业所得税吗
  • php ob缓存
  • Yii2 队列 shmilyzxt/yii2-queue 简单概述
  • vue能实现什么
  • 购进设备抵扣税额
  • code particle
  • 存货捐赠视同销售要不要确认收入?
  • 前端面试题必问的题目
  • 普通发票还要交增值税吗
  • 付了两次运费发了一个包裹
  • 小规模纳税人无进项票怎么办
  • 公司开具了电子发票
  • 固定资产转为投资性房地产公允价值
  • 运营费的税率
  • 赠送顾客的商品怎么入账
  • phpcms 标签
  • python rem
  • 全年多少钱就得交税
  • 免税普票要交企业所得税吗
  • 公司注销实收资本怎么处理
  • 实收资本会计处理方法
  • 应收贷方余额表示什么意思
  • 商业承兑汇票托收什么意思
  • 投资性房地产在资产负债表哪个科目
  • 速动比率和流动比率的关系
  • 补发工资怎么补发
  • 费用报销票据可以跨年吗
  • 固定资产改建支出的扣除规定
  • 货运代理服务开票
  • 增值税进项税加计抵减
  • 小额零星支出是什么意思
  • 给员工的奖励怎么做会计分录
  • 银行手续费必须开发票的规定
  • win8无法识别的usb设备 怎么解决
  • win10 20h2 v2
  • win7系统笔记本摄像头在哪里打开
  • 编写一个定时间隔为5ms的子程序
  • win8.1优化工具
  • windows预览0x80072ee7
  • qt渲染引擎
  • bat批处理文件的语句
  • 网上报税失败什么原因
  • 财政局,人社局和法院哪个好
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设