千家信息网

vue proxytable代理根路径怎么同时增加其他代理

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇"vue proxytable代理根路径怎么同时增加其他代理"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获
千家信息网最后更新 2025年01月16日vue proxytable代理根路径怎么同时增加其他代理

这篇"vue proxytable代理根路径怎么同时增加其他代理"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"vue proxytable代理根路径怎么同时增加其他代理"文章吧。

proxytable代理根路径的同时增加其他代理

Vue 项目有一个需求,需要对根路径 ‘/’ 进行代理,但同时还存在其余特例路径的访问需求 ‘/py’,例:

  • 代理 /* 到 localhost:5000

  • 代理 /py/*到 localhost:5001

此时,需要将特例路径的代理写在根路径的前面,否则会被根路径的代理覆盖,无法成功进行代理:

module.exports = {  dev: {    proxyTable: {      '/py': {        target: `localhost:5001`,        changeOrigin: true,        pathRewrite: {          '/py': '',        }      },      '/': {        target: `localhost:5000`,        // secure: true, // 是否 https        changeOrigin: true, // 是否是跨域请求      }    }  }}

使用proxytable的路径问题

代码例子

proxyTable: {undefined'/list': {undefinedtarget: 'http://api.xxxxxxxx.com',changeOrigin: true,pathRewrite: {  '^/list': '/list'}}}

这样我们在写url的时候,只用写成 /list/1 就可以代表 api.xxxxxxxx.com/list/1

proxytable的默认pathRewrite为

pathRewrite: {      '^/api': ''    }

这样我们在写url的时候,写 /api/1 就可以代表 api.xxxxxxxx.com/1

注意: '/api' 为匹配项,target 为被请求的地址,因为在 ajax 的 url 中加了前缀 '/api',而原本的接口是没有这个前缀的,所以需要通过 pathRewrite 来重写地址,将前缀 '/api' 转为 '/'。如果本身的接口地址就有 '/api' 这种通用前缀,就可以把 pathRewrite 删掉。

changeOrigin参数,如果设置为true,那么本地会虚拟一个服务端接收你的请求并代你发送该请求,这样就不会有跨域问题了。

另:proxytable只在开发环境中使用

以上就是关于"vue proxytable代理根路径怎么同时增加其他代理"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

0