vue-cli中devServer.proxy相关配置项的使用

 更新时间:2022年04月09日 11:01:26   作者:萧仁武  
这篇文章主要介绍了vue-cli中devServer.proxy相关配置项的使用详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

devServer.proxy相关配置项的说明

如图:

devServer.proxy中的 changeOrigin 参数

changeOrigin 为false时,请求头中host仍然是浏览器发送过来的host;如果设置成true:发送请求头中host会设置成target的值。

devServer.proxy中的 pathRewrite 参数

本示例中,pathRewrite设置了 '^/lr': '' ,作用如下:

使用代理,首先需要有一个标识,告诉程序这个连接要使用代理,不然的话,可能你的html、css、js、矢量图等静态资源都跑去代理。所以我们要通过一个唯一标识,让接口使用代理,静态资源文件使用本地。

proxy中的 '/lr':{······},就是告诉node,我的接口是要以 /lr 开头的才使用代理。所有的接口都要写成 /lr/xx/xx ,以 /lr 开头,最后代理的接口路径路径就是 http://localhost:8080/lirong/lr/xx/xx

但是例子中真实的后台数据接口里没有 /lr,直接就是 http://localhost:8080/lirong/xx/xx ,所以就需要配置 pathRewrite,用'^/lr': '' 将 /lr 去掉,这样既有正确的标识,又能在真实请求接口的时候去掉 /lr

devServer.proxy代理配置详解

如果你的前端应用和后端 API 服务器没有运行在同一个主机上,你需要在开发环境下将 API 请求代理到 API 服务器。可以通过 *.config.js 中的 devServer.proxy 选项来配置。

.config.js文件中引入依赖项

const proxy = require('http-proxy-middleware');

devServer.proxy 可以是一个指向开发环境 API 服务器的字符串

//服务器会将任何未知请求 (没有匹配到静态文件的请求) 代理到http://localhost:4000上

module.exports = {
  devServer: {
    proxy: 'http://localhost:4000'
  }
}

更多的代理控制行为

const proxy = require('http-proxy-middleware');
module.exports = {   
devServer:{
    host: 'localhost',//target host
    port: 8080,
    //proxy:{'/api':{}},代理器中设置/api,项目中请求路径为/api的替换为target
    proxy:{
        '/api':{
            target: 'http://192.168.1.30:8085',//代理地址,这里设置的地址会代替axios中设置的baseURL
            changeOrigin: true,// 如果接口跨域,需要进行这个参数配置
            //ws: true, // proxy websockets
            //pathRewrite方法重写url
            pathRewrite: {
                '^/api': '/' 
                //pathRewrite: {'^/api': '/'} 重写之后url为 http://192.168.1.16:8085/xxxx
                //pathRewrite: {'^/api': '/api'} 重写之后url为 http://192.168.1.16:8085/api/xxxx
           }
    }}
},
//...
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • vue3项目使用pinia状态管理器的使用

    vue3项目使用pinia状态管理器的使用

    Pinia是一个专为Vue3设计的现代化状态管理库,本文主要介绍了vue3项目使用pinia状态管理器的使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • vue中v-for和v-if不能在同一个标签使用的最新解决方案

    vue中v-for和v-if不能在同一个标签使用的最新解决方案

    这篇文章主要介绍了vue中v-for和v-if不能在同一个标签的最新解决方案,这里描述了两种解决方案,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • this在vue和小程序中的使用详解

    this在vue和小程序中的使用详解

    这篇文章主要介绍了this在vue和小程序中的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • vue部署后静态文件加载404的解决

    vue部署后静态文件加载404的解决

    这篇文章主要介绍了vue部署后静态文件加载404的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • vue3中使用ant-design-vue的layout组件实现动态导航栏和面包屑功能

    vue3中使用ant-design-vue的layout组件实现动态导航栏和面包屑功能

    这篇文章主要介绍了vue3中使用ant-design-vue的layout组件实现动态导航栏和面包屑功能,基于一个新建的Vue3项目上实现,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • vue实现输入框的模糊查询的示例代码(节流函数的应用场景)

    vue实现输入框的模糊查询的示例代码(节流函数的应用场景)

    这篇文章主要介绍了vue实现输入框的模糊查询的示例代码(节流函数的应用场景),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 快速了解Vue父子组件传值以及父调子方法、子调父方法

    快速了解Vue父子组件传值以及父调子方法、子调父方法

    这篇文章主要介绍了Vue父子组件传值以及父调子方法、子调父方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • vue中插槽(slot)几种类型的使用方法

    vue中插槽(slot)几种类型的使用方法

    本文主要介绍了vue中插槽(slot)几种类型的使用方法,主要分三种,默认插槽,具名插槽,作用域插槽,下面就来一起介绍一下,感兴趣的可以了解一下
    2024-03-03
  • elementplus card 悬浮菜单的实现

    elementplus card 悬浮菜单的实现

    本文主要介绍了elementplus card 悬浮菜单的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • vue3 证件识别上传组件封装功能

    vue3 证件识别上传组件封装功能

    证件图片识别上传根据业务需要,经常涉及到证件上传,例如身份证上传、银行卡、营业执照等信息,根据设计师的设计,单独封装了一个上传组件,这篇文章主要介绍了vue3 证件识别上传组件封装,需要的朋友可以参考下
    2023-05-05

最新评论