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

  • 个人住房5年后买卖如何交税?
  • 附加税税率分别是多少
  • 技术服务费怎么结转成本
  • 经营所得税投资者减除费用
  • 怎么强调各个分公司之间无直接联系
  • 支付宝公户可以转私户吗
  • 小企业准则适用于什么企业
  • 房地产企业土地使用税
  • 取得高新技术企业证书
  • 小规模跨年发票可以入账吗
  • 行政事业单位核算的应交税费包括
  • 分期付款外币采购形成的差异如何做会计处理?
  • 完工绿化苗木怎样结转成本?
  • 长期股权投资初始成本
  • 发票密码区出来了一些
  • 已付款未收到发票
  • 新注册公司第一次怎么报税
  • 房地产开发经营企业确认当期因销售房地产
  • 吸收合并税费
  • 收到增值税发票怎么记账
  • 开发票征收品目怎么填
  • 一般纳税人进货收到普票怎么做账
  • 股东房产无偿给公司使用协议
  • 职工福利费的构成
  • mac鼠标移动到角落立刻显示桌面
  • 域名解析错误怎么解决mac
  • php的强大功能函数库中都含有哪些常用函数?
  • 总公司欠分公司钱不偿还了怎么做账
  • messenger 是什么意思
  • 直接材料成本差异账户在平时登记贷方登记
  • 承包租赁
  • 公司交纳社会保险多少钱
  • 报税货物范围包括
  • php数组实现原理
  • 2021年前端面试
  • 固定资产一次性扣除政策2023
  • 诉讼代理费计入事业单位什么科目
  • 库存盘点差异分录
  • dedecms使用教程
  • 【MongoDB for Java】Java操作MongoDB数据库
  • 参展费用计入什么科目
  • 出差飞机票会计分录
  • 买汽车计算公式
  • 培训费属于什么
  • mysql 缓冲区
  • 公司缴纳残保金的标准
  • 零税率应税服务出口退税
  • 一般纳税人其他咨询服务税率
  • 购买货物对方代垫的运输费分录
  • 应付账款长时间不付款怎么处理
  • 公司股东投资是什么意思
  • 月末忘记结转怎么办
  • 现金付给对方没写收据怎么办
  • 应收票据及应收账款怎么算
  • 财务常见问题有哪些
  • 进口关税增值税可以抵扣吗
  • 没有发票的费用汇算清缴的时候怎么调出来
  • MSSQL 数据库同步教程
  • vista和win7哪个对配置要求高
  • WINDOWS系统中删除放入回收站的文件占用什么空间
  • debian iso
  • linux终端记录
  • 如何在windows中添加字体
  • winxp怎么装系统
  • datadraveler
  • linux学习思路
  • gwsloader.exe是什么意思
  • win10预览版绿屏重启解决
  • linux中病毒了怎么处理
  • 全面理解全面把握全面落实
  • js出错
  • css选择器教程
  • unity的shader在哪儿
  • android遇到的难题
  • Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案
  • mysql数据类型大全
  • 如何查询企业税号
  • 乡镇地税局待遇
  • 江苏增值税电子专用发票可以抵扣吗
  • 济宁任城区多大面积
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设