当前位置: 首页 > article >正文

vue项目proxyTable配置

前言:
proxyTable是一个用于Vue.js应用程序的配置选项,它允许您在开发过程中代理后端API请求。这一功能的作用是解决由于浏览器的同源策略所限制而导致的跨域请求问题。当前端应用程序部署在一个Web服务器上并向不同的后端API发送请求时,这个功能就变得尤为重要。

在Vue.js应用程序中使用proxyTable的主要优点是能够简化配置,方便地进行本地开发和调试。在开发过程中,可以将所有的API请求都代理到本地的开发环境中,从而避免了跨域请求的问题,并且可以通过简单地更改proxyTable配置来切换后端API的地址。此外,还可以通过proxyTable轻松地模拟网络延迟和错误,以测试应用程序处理这些情况的能力。

总之,proxyTable是一个非常有用的工具,可以帮助Vue.js应用程序开发人员轻松地解决跨域请求问题,并加快开发和调试的速度。
1,浏览器的同源策略不允许跨域访问,所谓同源策略是指协议、域名、端口相同
2,在使用webpack做构建工具的项目中使用proxyTable代理实现跨域是一种比较方便的选择。

如何配置proxyTable
找到根目录下config文件夹下的index.js文件。由于我们是在开发环境下使用,配置在dev里面:

 dev: {
    env: require('./dev.env'),
    port: 8070,
    autoOpenBrowser: true,
    assetsSubDirectory: './',
    assetsPublicPath: '/',
    // quiet: true, // 如果使用webpack-dev-server,需要设为true,禁止显示devServer的console信息
    proxyTable: {
      '/base': {
        target: 'https://xxxxx/',
        changeOrigin: true,// 如果接口跨域,需要进行这个参数配置
        pathRewrite: {
          '^/base': '/'   // 重写接口
        }
      },
    },

在这里插入图片描述
和pre环境配置/base相匹配
上面这段代码的效果就是将以/base字段起始的本地接口请求代理到了https://xxxxx/这一域名下:

//先人为给接口地址前面加上一个自定义的项目名
const VUE_APP_CALL='"/base/api/app/tcloud-scrm-call"'
项目名base是我们人为加上去的,经过代理之后就没了,这样我们在配置代理这里只需要配置一份就够了,只是在写接口地址时要注意区分开发环境和线上环境就可以了

在这个文件下配置环境地址域名server
在这里插入图片描述
在这里插入图片描述
关于proxyTable的原理
在Vue.js应用程序中,当proxyTable选项被配置时,请求将首先被发送到Webpack开发服务器。如果请求的URL与proxyTable中的某个属性匹配,则该请求将被代理到指定的后端API服务器,而不是直接向目标服务器发送请求。代理过程实际上是在开发环境中创建了一个反向代理服务器。

反向代理服务器接收到请求之后,将对其进行一些处理,并将其转发到后端API服务器。这样做的好处是我们可以通过反向代理服务器来控制请求的流量、限制跨域请求并提高安全性。同时,通过配置proxyTable选项,我们还可以在开发和生产环境中使用相同的API地址,从而减少出错的可能性。

总之,proxyTable选项的原理是在Webpack开发服务器和反向代理服务器的帮助下,将请求转发到后端API服务器,以实现跨域请求的代理和控制。


http://www.kler.cn/a/7825.html

相关文章:

  • 【Vue】Vue3.0(二十四)Vue3.0中$refs 、$parent 的概念和使用场景
  • Vue的基础使用
  • Wireshark中的length栏位
  • Vue3 -- 环境变量的配置【项目集成3】
  • Keil基于ARM Compiler 5的工程迁移为ARM Compiler 6的工程
  • python怎么设置环境变量
  • 【计算机网络复习】第二章 应用层 1
  • 4.5--计算机网络之基础篇--2.网址到网页解析--(复习+深入)---好好沉淀,加油呀
  • 数字员工:降本增效“利器”,人人可用
  • 每周一算法:高精度乘法(一)大整数乘整数
  • TCP协议中,A和B相互通信具体流程
  • 超详细从入门到精通,pytest自动化测试框架实战-用例收集钩子(六)
  • Fast R-CNN
  • 打造开箱即用的js工具库之xijs更新指南(v1.2.2)
  • Java动态代理--思想
  • 网络安全从业人员应该如何提升自身的web渗透能力?
  • java面试八股文_虚拟机篇(jvm)
  • ThinkPHP路由不转换的原因及解决方法
  • 2023年PMP考生|考前必练全真模拟题分享,附答案解析
  • 从零开始实现一个C++高性能服务器框架----Hook模块
  • 8. 字符串转换整数 (atoi)
  • 求给定集合中好数对的个数
  • AST解混淆
  • mysql双游标嵌套循环
  • 开源Icon大合集
  • .net特性(个人笔记)