vue项目proxyTable配置小结

 更新时间:2023年04月14日 16:21:16   作者:橙可爱  
本文主要介绍了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服务器,以实现跨域请求的代理和控制。

到此这篇关于vue项目proxyTable配置小结的文章就介绍到这了,更多相关vue proxyTable配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue实现登录数据的持久化的使用示例

    vue实现登录数据的持久化的使用示例

    在Vue.js中,实现登录数据的持久化需要使用浏览器提供的本地存储功能,Vue.js支持使用localStorage和sessionStorage来实现本地存储,本文就来介绍一下如何实现,感兴趣的可以了解一下
    2023-10-10
  • Vue EventBus自定义组件事件传递

    Vue EventBus自定义组件事件传递

    这篇文章主要介绍了Vue EventBus自定义组件事件传递,组件化应用构建是Vue的特点之一,本文主要介绍EventBus进行数据消息传递 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 关于ElementUI自定义Table支持render

    关于ElementUI自定义Table支持render

    这篇文章主要介绍了关于ElementUI自定义Table支持render,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • vue之elementUi的el-select同时获取value和label的三种方式

    vue之elementUi的el-select同时获取value和label的三种方式

    这篇文章主要介绍了vue之elementUi的el-select同时获取value和label的三种方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验

    Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验

    vee-validate 是为 Vue.js 量身打造的表单校验框架,允许您校验输入的内容并显示对应的错误提示信息。这篇文章给大家带来了Vue.js 使用 Vee-validate 实现表单校验的相关知识,感兴趣的朋友一起看看吧
    2019-04-04
  • vue实现全选、反选功能

    vue实现全选、反选功能

    这篇文章主要为大家详细介绍了vue实现全选、反选功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • vue如何封装Axios的get、post请求

    vue如何封装Axios的get、post请求

    这篇文章主要介绍了vue如何封装Axios的get、post请求,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 基于ant-design-vue实现表格操作按钮组件

    基于ant-design-vue实现表格操作按钮组件

    这篇文章主要为大家介绍了基于ant-design-vue实现表格操作按钮组件示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 谈谈我在vue-cli3中用预渲染遇到的坑

    谈谈我在vue-cli3中用预渲染遇到的坑

    这篇文章主要介绍了谈谈我在vue-cli3中用预渲染遇到的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • vue数组对象排序的实现代码

    vue数组对象排序的实现代码

    这篇文章主要介绍了vue数组对象排序的实现代码,这里整理了详细的代码,非常具有实用价值,需要的朋友可以参考下
    2018-06-06

最新评论